Lackey (5-3) allowed three runs - all in the ninth - and five hits. He struck out seven and walked one.
Michael Young broke up Lackey's bid for his sixth career shutout with an RBI double and Sosa added a two-run drive, his eighth of the season. Scot Shields replaced Lackey (5-3) and got the last two outs.
Former Ranger Gary Matthews Jr. had two RBIs for the Angels. Reggie Willits and Orlando Cabrera had two hits apiece.
The Angels opened the season with a three-game sweep of the Rangers. Los Angeles has won 36 of the past 51 meetings.
Los Angeles pushed across two runs in the third inning against Vicente Padilla (1-5). Cabrera singled in a run and Matthews hit a sacrifice fly.
BOSTON - Nick Markakis and Melvin Mora had four hits apiece, Brian Burres pitched five innings for his first major league victory and Baltimore won its fourth consecutive game.
Markakis singled to start a three-run rally that broke a fifth-inning tie, and the Orioles got help when Red Sox right fielder Wily Mo Pena misplayed two consecutive balls: one went over his head for an RBI ground-rule double and another glanced off his glove for a run-scoring two-base error that made it 5-2.
Burres (1-1) allowed two runs on seven hits, striking out three and walking five. Four relievers bridged the gap to Chris Ray, who pitched a 1-2-3 ninth for his eighth save.
Julian Tavarez (1-4), gave up five runs - four earned - on 10 hits while striking out two in five innings. The Red Sox left the bases loaded in the first, second and seventh innings, stranding 13 in all.
The loss snapped Boston's four-game winning streak.
CHICAGO - Jon Garland held Kansas City without a run for eight innings and Chicago won for the fifth time in six games.
Garland (2-2) gave up four hits and a run, walking one and striking out three in 8 1-3 innings, and won his second straight start.
A.J. Pierzynski's solo homer to right off Odalis Perez (2-4) broke a scoreless tie with two outs in the fourth. Chicago added another run in the fifth when Tadahito Iguchi doubled and scored from third on an error by Royals shortstop Tony Pena Jr., who let Darin Erstad's grounder roll between his legs.
The Royals broke through against Garland with a run in the ninth on doubles by Esteban German and Mark Grudzielanek.
Lefty Matt Thornton struck Mark Teahen out swinging and Bobby Jenks got Mike Sweeney to line out to third for his 12th save in 13 chances.
TORONTO - A.J. Burnett struck out a season-high 10 to win for the first time in three starts and Toronto ended a nine-game losing streak.
Alex Rios homered for Toronto, which has been riddled with injuries. Staff ace Roy Halladay was whisked to hospital before the game for an appendectomy, sidelining him for four to six weeks. Third baseman Troy Glaus suffered an apparent leg injury while running out a fly ball in the first inning and was replaced by Jason Smith in the second inning.
Burnett (3-3) allowed one run and five hits with a season-high five walks in 6 2-3 innings.
Elijah Dukes homered in the first for Tampa Bay. It was his sixth of the season and third in the last seven games.
Scott Kazmir (2-2) lost for the first time since April 8, giving up five runs, four earned, and nine hits over 6 1-3 innings. He struck out six and walked three.
MINNEAPOLIS - Mike Maroth allowed one run in 6 2-3 innings, Carlos Guillen homered and drove in four runs and Detroit jumped into first place in the AL Central with its 10th win in the past 11 games.
Maroth (3-0) allowed nine hits and struck out three to get his first victory since April 12. Detroit has won all seven of Maroth's starts this season.
Johan Santana (4-3) gave up two runs and six hits with six strikeouts in six innings, but once again the struggling Twins offense got going a little too late to help him.
Guillen hit a two-run home run off Juan Rincon in the ninth, finishing a double shy of the cycle, to put the game out of reach. Gary Sheffield also had three hits and a home run.