C.J. Wilson worked into the sixth for the Angels after becoming the first major leaguer in 11 seasons to start consecutive games. He had faced only five batters against his former team in the rain-interrupted series opener.
Mark Trumbo launched a towering two-run homer for the Angels off Matt Harrison (4-3).
Josh Hamilton hit his majors-leading 18th homer - the ninth in six games for the Rangers slugger.
The second game of the series was the earliest ever at the 18-year-old Rangers Ballpark. The 12:07 p.m. start came only 12 hours after Friday night's game ended.
David Carpenter (1-1) faced only two batters after replacing Wilson before the Angels took the lead in the seventh. Ernesto Frieri, acquired from San Diego on May 3, worked 1 2-3 innings and Scott Downs got the final out for his third save.
After Trumbo walked and Howie Kendrick reached on a bunt single to chase Harrison, Peter Bourjos bunted for a hit to load the bases. Morales then hit a flyball to left for a 3-2 lead, John Hester had an infield single and Mike Trout added another sac fly.
In his return to Texas, Wilson threw only 22 pitches Friday night before a one-hour, 56-minute rain delay in the first inning of the Rangers' 10-3 victory. The left-hander was charged with four runs after allowing three infield singles and a walk, but didn't return once the rain stopped.
Wilson, who left the Rangers after consecutive World Series appearances to sign last winter as a free agent with his hometown Angels, walked his first two batters Saturday before Hamilton struck out and Adrian Beltre hit into a double play.
But Wilson bounced an 0-2 pitch with two outs in the fifth that hit Napoli, the catcher whose phone number Wilson put on Twitter as a prank during spring training. Brandon Snyder and Craig Gentry followed with consecutive singles to cut the gap to 2-1.
Hamilton, who hit two homers Friday night, struck out again in the fourth before his solo homer in the sixth. The slugger leads the majors with a .402 batting average, 18 homers and 41 RBIs.
Wilson struck out four and walked three, while allowing two runs and five hits on 93 pitches in 5 2-3 innings.
The last major leaguer to start consecutive games was Aaron Myette for Texas on Sept. 3 and 4, 2002, at Baltimore. Myette was ejected from the first game after only two pitches. It was the first time an Angels pitcher started back-to-back games.