In this paper, we combine a branch and bound algorithm with SOS programming in order to obtain arbitrarily accurate solutions to Global Polynomial Optimization (GPO) problems with bounded feasible sets. These arbitrarily accurate solutions are then fed into local gradient descent algorithms to obtain the true global optimizer. The algorithm successively bisects the feasible set and uses SOS to compute a Greatest Lower Bound (GLB) over each feasible set. For any desired accuracy, ϵ, we prove that the algorithm will return a point x such that |x-y| ≤ϵ for some point with objective value |f(y)-f(x∗)| ≤ϵ where x∗ is the global optimizer. To achieve this point, x, the algorithm sequentially solves O(\log(1/ϵ)) GLB problems, each of identical polynomial-time complexity. The point x, can then be used as an accurate initial value for gradient descent algorithms. We illustrate this approach using a numerical example with several local optima and demonstrate that the proposed algorithm dramatically increases the effectiveness of standard global optimization solvers.