San Francisco spoiled the season debut of Braves starter Mike Minor with its seventh victory in eight games.
Atlanta has a season-high four-game losing streak.
After missing the first month of the season with left shoulder tendinitis, Minor (0-1) allowed seven hits, two runs, no walks and struck out four.
He trailed 1-0 when Pagan led off the game with his third homer and was down 2-1 in the sixth after Morse added his seventh homer.
Lincecum (2-1) gave up six hits and three walks with four strikeouts and kept Braves hitters off balance by keeping his pitches low in the strike zone and added a sharp curveball and slider.
Though Lincecum's ERA still stands at 5.12 this season, San Francisco has won his past four starts, and the right-hander is 3-0 with a 2.91 ERA over that span.
The two-time Cy Young Award winner improved to 8-6 with a 2.89 ERA in 14 career starts against the Braves.
"I was just trying to go with what [catcher Hector Sanchez] put down, trying to get into a good rhythm, and today it turned out pretty good," Lincecum said. "I was just trying to attack the zone and make them be aggressive, which they are."
But that was all the damage Atlanta's offense could muster.
San Francisco's bullpen, which leads the majors with a 1.98 ERA, continued its stingy work.
Santiago Casilla, the third Giants pitcher, struck out Chris Johnson with runners on first and second to end the seventh. He faced the minimum in the eighth, lowering his opponents' batting average against right-handers to .162 in 37 at-bats.
Closer Sergio Romo earned his eighth save in eight chances in an adventurous ninth. After retiring pinch hitter Evan Gattis and Heyward on groundouts, Romo gave up B.J. Upton's single and walked Freeman.
But Romo ended the game when cleanup hitter Justin Upton took a called third strike.
"It's always a battle, especially against him," Romo said. "He always digs in there and takes good swings. I was able to win this battle. I definitely expect to have another with him."
Minor continued his troubles with the long ball. He gave up four homers in his last rehab start for Double-A Mississippi on April 25 and has allowed nine homers in his past seven big-league starts dating to last Aug. 31.
Even so, his return could boost a Braves rotation that lost Kris Medlen and Brandon Beachy to season-ending elbow surgeries during spring training.
Minor, Atlanta's leader in innings pitched the past two years, began the night 19-13 in 46 starts since the 2012 All-Star break and had a 2.90 ERA that ranked fourth in the majors over that span.
Minor said he left the ball over the middle of the plate on Pagan's homer, but that wasn't the case on Morse's.
"The ball was up," Minor said. "It was a good piece of hitting. He went the other way."
Giants RHP Tim Hudson, who won his 200th career game in Atlanta last year, is glad his next turn in the rotation is Tuesday at Pittsburgh. "I had nine wonderful years here," Hudson said. "It was a dream come true to a player. I'm kind of glad I'm not pitching here. It would be a little weird." Hudson is 4-1 with a 2.17 ERA in six starts this year. ... In a deal announced earlier in the day, Johnson and the Braves agreed to a $23.5 million, three-year contract covering 2015-17. ... RHP Gus Schlosser was optioned to Triple-A Gwinnett to make room for Minor on the 25-man roster. ... Minor's return has moved RHP David Hale to the bullpen.