BOSTON — Mookie Betts came to work early Sunday, for extra batting practice.

“These last couple of days I was off, so I pretty much swung my way out of it,” Betts said.

He kept swinging when the game began.

Betts belted three home runs to lead the Boston Red Sox to a 16-2 romp over the Arizona Diamondbacks Sunday afternoon, before 36,842 at Fenway Park.

Betts also had a career-high eight RBI as Boston knocked Arizona ace Zack Greinke out of the game in the second inning.

Boston scored two runs in the first inning and seven in the second.

Betts homered in both frames, and then added a blast in the fifth. It was his second three-home run game this season, and now has 26 homers. Betts went 4 for 6 with a single. Dustin Pedroia was 5 for 6 with a double and two RBI.

Jackie Bradley Jr. also homered in the second inning, handing Greinke (11-4) the worst loss of his laudable career.

Boston starter Rick Porcello meanwhile improved to 16-3, tying Toronto’s J.A. Happ for the most wins in the majors.

Excitement over the Porcello-Greinke matchup melted away quickly at steamy Fenway (94 degrees, but feeling like 104 with the humidity).

“The guys swung the bat tremendous today against one of the best pitchers in the game,” Porcello said. “We got off to a big lead and I didn’t want to mess it up. Just went out there and wanted to throw strikes.”

Porcello needed only 80 pitches over seven innings, allowing three hits and one run (a Michael Bourn homer in the fourth). Porcello is now 12-0 in 13 starts at Fenway Park.

The victory gave Boston (64-52) a three-game sweep of Arizona (48-69), salvaging a 4-2 home-stand – after a disappointing 1-2 series against the Yankees.

The Red Sox still trail the Toronto Blue Jays (67-51) by two games in the American League East. The Jays beat Houston 9-2.

The Red Sox now embark on a grueling 11-day, four-city road trip, starting with a make-up game in Cleveland at 1 p.m. Monday.

“We had a tough series against New York,” Porcello said. “And we got a tough road trip coming up. It’s good to leave on a good note.”

The flight to Cleveland was likely a happy one with the Red Sox reminiscing about their 19 hits. Hanley Ramirez was 3 for 4 with an RBI and a double before being lifted for a pinch-runner. Andrew Benintendi went 2 for 4 with a walk. He is batting .394 since being called up from Portland on Aug. 2. He has a .444 on-base percentage and .929 OPS.

“Benintendi continues to find ways to get on base multiple times in a game,” Boston Manager John Farrell said.

Pedroia led off the first inning with a single. Betts came up with one out and crushed a 2-0 change-up, well over the Green Monster for a 2-0 first-inning lead.

Boston’s second inning began with four straight hits, including Andrew Benintendi’s RBI double. With one out, Betts worked another 2-0 count and this time belted a slider, just clearing the Monster for a three-run blast and a 7-0 lead.

Bradley’s Pesky Pole homer to right, a two-run shot, made it 9-0 and ended Greinke’s day. It was his first loss in his last nine decisions.

Porcello walked none and struck out four. He lowered his ERA to 3.30.

NOTES: The Red Sox made a series of moves after the game. They moved pitcher Steven Wright to the disabled list with a sore shoulder and said Clay Buchholz will make Thursday’s start in Detroit. Ramirez was removed from the roster for a three-day bereavement leave and Roenis Elias was optioned back to Triple-A. Farrell said corresponding moves to replace those three vacancies will be made later. … Sunday was the annual “Maine Day” at Fenway with many from the state taking part in ceremonies before and during the game. Michaela Boissonneault of Portland sang the National Anthem (and joined sister Maria for God Bless America in the seventh inning). Long-time L.L. Bean employee Bill Pond of Harpswell threw out the first pitch. U.S. Air Force staff sergeant Paul Nelson of Old Town was honored during the “Hats Off To Heroes” segment between innings.