Mainz had chances to double their advantage midway through the first half, but they were unable to pull further ahead as Yunus Malli dragged a shot past the post before Okazaki headed wide from close range.
The hosts were made to pay for those misses just before the break when Loris Karius was adjudged to have brought down Fin Bartels, who had timed his run perfectly to collect Clemens Fritz's inch-perfect pass.
Mainz stopper Karius appeared to make up for that mistake by keeping out Di Santo's penalty, but the Argentine striker reacted quickest to convert the rebound.
Di Santo beat Karius again early in the second half with a clever chipped finish after collecting a lobbed pass from Felix Kroos.
Bremen's in-form striker continued to look threatening, but his pursuit of a hat-trick would end in disappointment as he dragged one shot wide before seeing a free kick pushed to safety by Karius.
Mainz thought they had snatched a point late on when Okazaki finished emphatically from inside the box, but the forward's goal was ruled out due to offside as Bremen held on for their first win of the season.