Yu Darvish allowed two runs in six innings on Saturday, earning his third win as Carlos Gomez hit for the cycle in the Texas Rangers' 6-3 win over the Los Angeles Angels.

Darvish (3-2) surrendered one earned run on three hits and four walks, while striking out 10. The right-hander coughed up the game's first runs in the fourth inning when Mike Trout doubled in Kole Calhoun, went to third on an error and scored on an Albert Pujols sacrifice fly.

 Baseball: Darvish gets 3rd win behind Gomez cycle

The Rangers took a 4-2 lead in the bottom of the fifth off Jesse Chavez (2-4) before Darvish nearly gave it away in the top of the sixth. He walked the bases loaded with one out, but made his escape by getting a pop up and a groundout.

Darvish left after a 1-2-3 sixth, having thrown 125 pitches, the major leagues' highest total so far this season.

"I was extremely surprised they let me throw that many pitches," Darvish said. "I was thinking, 'They're testing me.' So I wanted to get outs, no matter how."

The Rangers' big fifth-inning rally was a late bloomer. With two outs and a runner on second, Nomar Mazara's RBI single on a full count opened Texas' account. Gomez tripled him home on the next pitch before Rougned Odor homered on a 1-2 pitch.

In Boston, Koji Uehara worked a 1-2-3 seventh in his old home park, helping the Chicago Cubs beat the Red Sox 7-4.

"(Having had three days off) I was supposed to pitch today even if we were losing," the Cubs setup man said. "My teammates brought us from behind and I just went out to the mound as planned."

"I was able to separate things (my feelings about facing my old teammates) and do what I needed to do."

In Miami, Marlins reliever Junichi Tazawa threw an efficient six-pitch eighth inning in a 4-0 loss to the Pittsburgh Pirates.