With the score tied 3-3, Paul reached base on an infield single, stole second, advanced to third on an error, and came home on a sacrifice fly by Chase D'Arnaud.
The victory pulled the Pirates even with the Cardinals for second place in the NL Central. Both teams are a half game behind the Milwaukee Brewers.
Charlie Morton walked five batters in 5.1 innings, but managed to escape with only three runs allowed. He got help from new Pirate Jason Grilli, who took over with two men on in the sixth and registered a strikeout and a groundout to leave them stranded. The Bucs' relievers managed 4.2 scoreless innings in total.
Ronny Cedeno and Eric Fryer each had two hits for the Pirates.
The Bucs begin another tough series, in Atlanta, on Monday.
For more on the Pirates, check out Bucs Dugout.