Prince Fielder and Ryan Braun each had a sacrifice fly for Milwaukee, making its first trip to the postseason since 1982. Hardy and Jason Kendall added RBI singles.
After CC Sabathia and Yovani Gallardo flopped in Philly, Bush allowed one run in 5 1-3 innings to help send the best-of-five series to a fourth game on Sunday.
Three relievers stymied the Phillies before Salomon Torres worked a rocky ninth inning for the save. Philadelphia loaded the bases with no outs and Pedro Feliz hit a double-play grounder to third that appeared to drive in Ryan Howard.
But Shane Victorino, who hit a grand slam off Sabathia in Game 2, was called for interference when he didn't slide into second. The runners were sent back to second and third, and Carlos Ruiz tapped back to Torres for the final out.
Phillies manager Charlie Manuel continued to discuss the play with umpires after the game.
Only seven teams in baseball history have come back from an 0-2 deficit in a best-of-five playoff series - but the '82 Brewers were one of them.
Jeff Suppan will start for Milwaukee on Sunday. The Phillies did not announce a Game 4 starter before Saturday's game but are expected to send Joe Blanton to the mound.
The Brewers managed just three runs and seven hits as the Phillies won the first two games convincingly. But Milwaukee showed some patience at the plate in Game 3 that was noticeably lacking in Philadelphia.
Mike Cameron and Bill Hall, two free-swinging Brewers, walked with no outs in the first against Jamie Moyer, known for his control. Both runners moved up on a wild pitch before Fielder hit a sacrifice fly to right with one out.
Hardy followed with a run-scoring single to give Milwaukee a 2-0 lead.
Bush (1-0) allowed the leadoff hitter to reach in four of the first six innings but managed to wiggle out of trouble. He departed with one out and a runner on third in the sixth, and Howard's groundout off Mitch Stetter cut Milwaukee's lead to 3-1.
Moyer (0-1) was lifted in favor of pinch-hitter Matt Stairs in the fifth. The 45-year-old left-hander allowed four hits and two runs in four innings.
Clay Condrey replaced Moyer and hit Cameron with a pitch to lead off the fifth. Cameron went to third on Hall's single and scored on Braun's sacrifice fly to left.
Milwaukee loaded the bases with two outs but Craig Counsell, who replaced Rickie Weeks at second base after Weeks sprained his left knee, took a called third strike to end the inning. The Brewers also left the bases loaded in the sixth.
Bush allowed a leadoff single to Chase Utley in the fourth but got out of a potential big inning by mowing down the heart of the Phillies' lineup.
Utley advanced to second on Howard's groundout. But Pat Burrell flew out to right, and Victorino lined out sharply to shortstop Hardy to end the inning.
Victorino slammed his helmet to the ground as he ran down the first-base line.
Notes: Jayson Werth and Howard both finished with two hits. ... Kendall's RBI single came in the seventh.