The Pirates got back-to-back-to-back homers that included an inside-the-park job by Pedro Alvarez, but that wasn't enough on Friday night, as Jason Grilli gave up a decisive two-run shot by Anthony Rizzo in the seventh inning.
Charlie Morton struck out five and walked two over five innings, but allowed three runs, two of which came when Morton threw a huge mistake fastball to Brian Bogusevic with a run on in the fourth.
In the bottom of the inning, though, the Pirates rallied, coming back to tie the game at three. Alvarez hit a ball to right-center that caromed off the wall (EDIT: off a fan, actually), and he came all the way around to score. Immediately thereafter, Russell Martin his a long fly ball to left to give the Pirates their second straight homer. Then, it was Garrett Jones' turn, as he blasted off to center. The Pirates then took a 4-3 lead in the sixth on an error by Brooks Raley.
In the seventh inning, Grilli struck out the first two batters he faced. But then he walked Luis Valbuena, then gave up the two-run shot to Rizzo.
"We've got to keep getting [Grilli] out there to give him the opportunity to fine-tune some things," Clint Hurdle said. "He just needs to pitch."
The Pirates couldn't make much more noise against the Cubs' bullpen, and they lost 5-4.
The Cardinals won, so the Bucs are now one game back of first place.
David Manel contributed to this post.