Los Angeles starter Jered Weaver also pitched respectably, working four innings. But his defense betrayed him in the first inning, when left fielder Brennan Boesch's two-base error put Gregor Blanco in position to score on Sandoval's first of two singles.
Consecutive one-out singles by Blanco, Brandon Crawford and Sandoval widened the Giants' lead to 2-0 in the third inning. They added a run in the fifth against reliever Nick Maronde as Hunter Pence singled and scored on Morse's double.
"It went all right," Weaver said of his outing. "I felt good coming out of it. Probably left a couple pitches up, a little excited, but other than that, I felt pretty good out there."
The Angels rallied for a pair of seventh-inning runs. Albert Pujols singled and was replaced by pinch-runner Efren Navarro, who scored on Boesch's triple. Boesch came home on pinch-hitter Carlos Pena's groundout.
Up next: First baseman Brandon Belt, one of the club's hottest spring hitters (.600, 6-for-10), is likely to return to the lineup Thursday against the visiting Cincinnati Reds. Second baseman Marco Scutaro's Cactus League debut isn't imminent, but he could test his sore back in game activity by the weekend. Right-hander Tim Hudson, among the Giants starters who have excelled thus far in spring games, gets the call for his second exhibition outing.
Chris Haft is a reporter for MLB.com. Read his blog, Haft-Baked Ideas, and follow him on Twitter at @sfgiantsbeat. This story was not subject to the approval of Major League Baseball or its clubs.