Bell was 4-for-4 with five RBIs, three runs scored and a walk in the 10-6 victory on Sunday at Busch Stadium in St. Louis. He is now hitting .319 with 10 home runs and 34 RBIs on the season.
His mom was in attendance as he clubbed the career-high four hits.
"It was awesome. It's one of those scenarios where I know my mom would be just as excited to watch me play if I go 0-for-4 right there," Bell told reporters, according to MLB.com. "To be able to perform and celebrate the win with them watching, it's unbelievable."
The four-year veteran gave Pittsburgh its initial advantage with a two RBI double in the top of the first inning. Kevin Newman plated Bell on a force out in the same inning, giving the Pirates a 3-0 edge.
Cardinals star Paul Goldschmidt answered in the bottom of the opening inning, ripping a two-run homer to left center field. The Cardinals tied the game on a wild pitch from Steven Brault, before Jedd Gyorko drove in Jose Martinez for a 4-3 advantage.
Martinez gave St. Louis a 6-3 edge with a two-run homer in the bottom of the second inning. But Bell returned to the plate in the top of the seventh inning to settle the score.
The Pirates first baseman settled in against Cardinals reliever John Brebbia during that exchange. Brebbia entered the game with runners on first and second base. Bell fouled off his first offering, before taking a slider for a ball.
He then pounced on a 1-1 fastball, sending it on a line drive over of the right field fence for a three-run homer. Bell's blast traveled 363 feet and had an exit velocity of 111.8 mph, according to Statcast. Adam Frazier plated Francisco Cervelli and Melky Cabrera with an RBI double in the same inning, giving Pittsburgh an 8-6 lead.
The Pirates bullpen silenced the Cardinals down the stretch. Colin Moran brought in two more runs for Pittsburgh with an RBI double in the top of the eight frame.
Pittsburgh travels for a three-game series against the Arizona Diamondbacks, starting at 9:40 p.m. on Monday at Chase Field in Phoenix, Ariz.