BOSTON — David Price was the ace the Red Sox have expected. David Ortiz is making what he's calling his final season look historic.
Price threw eight shutout innings in his best start with Boston, Ortiz entered the All-Star break with impressive numbers after hitting a two-run homer, and the Red Sox sent the Tampa Bay Rays to their sixth straight loss, 4-0 Sunday.
The 40-year-old Ortiz heads to his 10th All-Star game with a .332 average and 72 RBIs in what he announced last fall will be his final year. It's the most RBIs ever at the break by a player 40 or older.
"It's probably beyond our expectations coming into his final season," Boston manager John Farrell said. "Just a powerful and impressive first half."
Ortiz got dressed at his locker and joked, "I feel like I'm 30" before reflecting on his upcoming final All-Star game.
"It's my last one," he said before heading out to begin his travel to San Diego. "I look forward to being a part of it."
The slugger has struggled with sore feet this season. He said he's looking forward to some rest before the second half.
"All I worry about now is coming back in one piece," he joked.
Price (9-6) struck out 10, allowed four hits, walked one and hit two batters in snapping a personal two-game losing streak. Price didn't give up a hit after the third inning, retiring 17 of the last 19 batters.
Coming into the break with a higher than expected ERA, the lefty said he never felt down.
"I was never discouraged," he said after lowering his ERA from 4.64 to 4.34. "I never lost confidence in my abilities and I know my coaching and my teammates didn't either."
The victory completed a three-game sweep for the Red Sox and handed Tampa Bay its 22nd loss in 25 games.
"Obviously not the way we wanted to go into the break," Rays manager Kevin Cash said. "Hopefully we can erase a little bit of what's taken place over the last 25 games."
Mookie Betts had three singles and drove in a run to help the Red Sox complete their first sweep since a three-game set at home against Oakland on May 9-11.
Brad Ziegler, acquired from Arizona after Friday night's games, completed the four-hitter by getting the final three outs in his Red Sox debut.
Jake Odorizzi (3-5) got the loss, allowing four runs in five innings.
"The Ortiz one was a fastball down and possibly tailing away from him," Odorizzi said. "I think he just kind of one-handed it."
Price had received two runs or fewer in each of his last seven starts. His teammates offered better support right away by grabbing a 3-0 lead in the first inning.
Ortiz hit his homer into the Green Monster seats after Xander Bogaerts' sacrifice fly. Betts' RBI single made it 4-0 an inning later.
GLAD AND SURPRISED
Ziegler wore No. 29 after the Red Sox acquired the 36-year-old from Arizona for a pair of minor leaguers.
The right-hander said the last conversation he had with the Diamondbacks before the trade was the possibility of an extension.
"I said: 'I'm open to whatever. Just come back to me and let me know,"' he said. "The next time I heard from them I was traded. That's part of why I was caught off-guard and surprised how early it happened."
Tampa Bay's Brandon Guyer was hit by a pitch twice, bringing his season total to 20.
Six-year-old Caroline Fahey of Newton, Massachusetts, sang the anthem flawlessly and got a huge hand from the fans and both dugouts.
Rays: They're still planning that CF Kevin Kiermaier (broken left hand) will return Friday.
Red Sox: 1B Hanley Ramirez was out for his second straight day with a sore left shin ... Both RHP Junichi Tazawa (tightness shoulder) and utility player Brock Holt (sprained left ankle) were unavailable.
Rays: RHP Chris Archer (4-12, 4.61 ERA) is slated to start Friday when they host the Orioles and RHP Yovani Gallardo (3-1, 5.82).
Red Sox: LHP Eduardo Rodriguez (1-3, 8.59) is expected to be recalled Friday and start the first of a three-game series against the Yankees in New York.