Synthetic spinel harzburgite and lherzolite assemblages were equilibrated between 1040 and 1300-degrees-C and 0.3 to 2.7 GPa, under controlled oxygen fugacity (fo2). fo2 was buffered with conventional and open double-capsule techniques, using the Fe-FeO, WC-WO2-C, Ni-NiO, and Fe3O4-Fe2O3 buffers, and graphite, olivine, and PdAg alloys as sample containers. Experiments were carried out in a piston-cylinder apparatus under fluid-excess conditions. Within the P-T-X range of the experiments, the redox ratio Fe3+/SIGMA-Fe in spinel is a linear function of fo2 (0.02 at IW, 0.1 at WCO, 0.25 at NNO, and 0.75 at MH). It is independent of temperature at given DELTA-log(fo2), but decreases slightly with increasing Cr content in spinel. The Fe3+/SIGMA-Fe ratio falls with increasing pressure at given DELTA-log(fo2), consistent with a pressure correction based on partial molar volume data. At a specific temperature, degree of melting and bulk composition, the Cr/(Cr+Al) ratio of a spinel rises with increasing fo2. A linear least-squares fit to the experimental data gives the semi-empirical oxygen barometer in terms of divergence from the fayalite-magnetite-quartz (FMQ) buffer: DELTA-log(fo2)FMQ = 0.27 + 2505/T - 400 P/T - 6-log(X(Fe)(olv)) -3200(1 - X(Fe)(olv))2/T + 2-log(X(Fe2+sp)) +4-log(X(Fe3+sp)) + 2630(X(Al)(sp))2/T. The oxygen barometer is applicable to the entire spectrum of spinel compositions occurring in mantle rocks and mantle-derived melts, and gives reasonable results to temperatures as low as 800-degrees-C.