Paul legged out an infield hit with one out against St. Louis reliever Jason Motte (3-2), then stole second and advanced to third when catcher Gerald Laird's throw rolled into center field.
D'Arnaud lined to center and the speedy Paul easily beat the throw from centerfielder Colby Rasmus as the Pirates snapped a three-game losing streak.
Joe Beimel (1-1) retired the Cardinals in order to pick up his first victory as a Pirate in more than eight years.
Ronny Cedeno and Eric Fryer had two hits apiece for Pittsburgh.
Rasmus had two hits, including his 10th homer of the season for the Cardinals.