The Booster Neutrino Experiment (MiniBooNE) searches for numu-to-nue oscillations using the O(1 GeV) neutrino beam produced by the Booster synchrotron at the Fermi National Accelerator Laboratory (FNAL). The Booster delivers protons with 8 GeV kinetic energy (8.89 GeV/c momentum) to a beryllium target, producing neutrinos from the decay of secondary particles in the beam line. We describe the Monte Carlo simulation methods used to estimate the flux of neutrinos from the beamline incident on the MiniBooNE detector for both polarities of the focussing horn. The simulation uses the Geant4 framework for propagating particles, accounting for electromagnetic processes and hadronic interactions in the beamline materials, as well as the decay of particles. The absolute double differential cross sections of pion and kaon production in the simulation have been tuned to match external measurements, as have the hadronic cross sections for nucleons and pions. The statistical precision of the flux predictions is enhanced through reweighting and resampling techniques. Systematic errors in the flux estimation have been determined by varying parameters within their uncertainties, accounting for correlations where appropriate.