San Francisco: San Francisco broke clear in the late innings after a dour pitching duel to beat Atlanta 7-0 on Thursday and win their fourth straight game to move within half a game of the National League West division lead.

The Giants also moved six games ahead of division rivals San Diego, who lost to a suddenly streaking Pittsburgh.

In the American League, the Los Angeles Angels routed Detroit with the aid of a Chris Iannetta grand slam, while a raw young pitcher helped Boston spoil Josh Hamilton’s return to Texas.

The Giants-Braves game was scoreless until Brandon Belt hit a solo home run in the seventh inning, and the hosts took control.

San Francisco starter Chris Heston (5-3) pitched 7-1/3 scoreless innings to win his third straight decision and give the Giants 12 wins in their past 14 games. He also doubled his first career extra base hit.

Atlanta’s Shelby Miller (5-2), who came within one out of a no-hitter in his previous road start, took the loss despite allowing just one run over seven innings.

Pittsburgh extended their winning streak to seven games with an 11-5 victory at San Diego, with Kang Jung-ho hitting a three-run homer.

Starling Marte and Gregory Polanco also went deep off Padres pitcher Ian Kennedy (2-5), who gave up seven runs to lose his fourth straight start.

The Pirates’ first six runs came from homers, including deep shots by Kang and Polanco. Marte hit a two-run shot in the third, his 10th of the season.

The Angels crushed Detroit 12-2, with Iannetta’s grand slam being the fourth of his career.

Albert Pujols and Matt Joyce also homered for Los Angeles, which squared its win-loss record at 24-24.

Angels starter C.J. Wilson (3-3) gave up one run in six innings, with seven strikeouts. His only run conceded came when he hit the batter on the foot with the bases loaded in the third inning.

Boston’s Eduardo Rodriguez threw 7 2/3 scoreless innings to become the youngest Red Sox starter to win in his major league debut on the road since 1967, and Boston beat Texas 5-1.

Win or lose, the 22-year-old Rodriguez was the youngest Red Sox pitcher to make his MLB debut on the road since 21-year-old Roger Clemens in 1985. Billy Rohr was 21 when he won in his debut at the New York Yankees 48 years ago.

Rodriguez (1-0) struck out seven and walked two.

Hamilton went 2-for-4, lining a double on the first pitch he saw. It was the first game back in Texas for the former AL MVP, a month and a day after being reacquired from the Los Angeles Angels.

Cleveland’s Corey Kluber struck out 13 in seven innings to win his third straight decision and guide the Indians to a 5-3 win against Seattle.

Chicago’s Chris Sale struck out 12 over 7 2-3 scoreless innings to steer the White Sox to 3-2 win over Baltimore in the first game of a double-header but the Orioles responded by taking out the night game 6-3.

Oakland rallied from a three-run deficit to beat the New York Yankees 5-4, with the Athletics going ahead in the seventh inning when Ben Zobrist drew a bases-loaded walk from David Carpenter.

—AP