Marwin Gonzalez, Ryan Jeffers and Josh Donaldson also connected, helping Minnesota win for the 10th time in 12 games. The Twins have multiple homers in six straight games, including 11 in the series against Cleveland.
"It was impressive," Minnesota manager Rocco Baldelli said. "I mean, honestly, that's an impressive series offensively that we've had against as good of a pitching staff as I've seen in baseball."
The Twins stayed one game back of AL Central-leading Chicago, which beat Detroit 5-2 on Sunday. The Twins visit the White Sox for the opener of a four-game series on Monday night.
Caleb Thielbar (2-0) got the win, recording two outs in relief of Michael Pineda. Sergio Romo earned his fourth save by striking out Franmil Reyes and retiring Tyler Naquin on a fly ball to center after allowing two hits in the ninth.
"It feels like we're playing the postseason," Gonzalez said. "It's not really the postseason, but we're fighting for first place. And that matters a lot."
Indians rookie Triston McKenzie (2-1) struggled for the first time in his fifth career start. McKenzie gave up five runs in 4 1/3 innings, despite surrendering just three hits. He struck out seven, issued one walk and hit a batter.
"Losing six in a row is definitely no fun, but I think we're in a good spot mentally and the day off will help us kind of reset and get going," McKenzie said.
Cleveland jumped out to a 3-0 lead, but Gonzalez got the Twins on the board with a two-run homer in the third.
Cruz tied it with a solo drive in the fourth, moving into a tie for the major league lead in homers. Jeffers hit a two-run shot in the fifth, his third of the season, and Donaldson added his fourth of the year.
After setting the major league record for homers last season, Minnesota started the day with 70 homers, fifth in the majors this season.
"Since Donaldson came back, the team looks more deep," Cruz said. "It seems more complete. So definitely when you miss big pieces like him, (Byron) Buxton, (Max) Kepler, Mitch (Garver), I don't think we have been able to stay healthy, the whole group, this year. That kept us down. We're getting those guys back in the lineup and the way we're swinging is better."
A COSTLY WIN
It was a costly win for the Twins.
Outfielder Eddie Rosario suffered a left elbow contusion after making contact with Buxton as the two chased a fly ball to end the eighth. Rosario had his left arm extended when it hit Buxton's chest. Rosario was replaced by Jake Cave to start the ninth.
"I think everything that played out on the field today, obviously you never want to see anyone come out of the games or anything like that, but everything does seem relatively mild," Baldelli said.
Twins: Kepler was reinstated from the injured list after missing nine games with a left adductor strain. Kepler was hitless in four at-bats and left the bases loaded in the sixth after popping out. ... Rookie OF Brent Rooker was placed on the injured list after breaking his forearm when he was hit by a pitch Saturday.
Indians: RHP Carlos Carrasco (2-4, 3.12 ERA) will start Tuesday as Cleveland opens a two-game road series against the Chicago Cubs, who are scheduled to start RHP Yu Darvish (7-2, 1.77 ERA). Carrasco has allowed one run or less in each of his past three starts.
Twins: RHP Jose Berrios (4-3, 4.40) starts Monday for the Twins. Chicago has RHP Dylan Cease (5-2, 3.33 ERA) scheduled to start. Berrios has won three straight decisions and given up seven runs in 22 2/3 innings over his last four starts.
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP-Sports
James Paxton, Boston Red Sox agree to 1-year, $10 million deal, sources say
Left-hander James Paxton and the Red Sox are in agreement on a one-year, $10 million contract with a two-year club option, sources said.
Raisel Iglesias, Los Angeles Angels agree to four-year deal, source says
Closer Raisel Iglesias and the Angels have agreed to a four-year contract, a source told ESPN's Jeff Passan.
Major League Baseball, players union no closer to deal with collective bargaining agreement set to expire, sources say
Major League Baseball and the players union are no closer to a new collective bargaining agreement with the expiration of the current one looming, sources said.
Baltimore Orioles reach 1-year deal with veteran 2B Rougned Odor
The Baltimore Orioles have agreed to a one-year deal with second baseman Rougned Odor.
Gio Urshela reaches $6.55M deal with New York Yankees; Domingo German agrees to $1.75M
Infielder Gio Urshela agreed to a $6.55 million, one-year contract with the Yankees on Tuesday, while starting pitcher Domingo German agreed to $1.75 million and pitcher Lucas Luetge to $905,000.
Miami Marlins acquire Joey Wendle, send Kameron Misner to Tampa Bay Rays
The Marlins have acquired third baseman Joey Wendle from the Rays for prospect Kameron Misner.