We measured the 7Be(p,gamma)8B cross section from E_cm = 186 to 1200 keV, with a statistical-plus-systematic precision per point of better than +- 5%. All important systematic errors were measured including 8B backscattering losses. We obtain S_17(0) = 22.3 +- 0.7(expt) +- 0.5(theor) eV-b from our data at E_cm <= 300 keV and the theory of Descouvemont and Baye.