Cleveland Indians shortstop Francisco Lindor was visibly upset with himself for committing an error that led to a three-run fifth inning for the Texas Rangers at Globe Life Park in Arlington, Texas Wednesday night.

But Lindor came back strong, belting home runs in his final two at-bats, including the game-winning grand slam in the top of the ninth inning of the 9-6 comeback victory, which completed a three-game sweep of the Rangers to open the season.

“He had a vengeance,” Indians manager Terry Francona said. “He hit the solo right handed, and then, took a gorgeous swing. I thought leading up to it, you’d always like to give yourself a chance. Sometimes, when you do, good things happen.”

Down by a 5-3 count after the Rangers’ big inning, the Indians got a run back in the top of the sixth when Lindor drilled a one-out solo home run to left field.

Then, in the ninth inning, Lindor turned on a 1-1 pitch over the plate and smashed the offering from Rangers closer Sam Dyson inside the foul pole for his first career Major League grand slam.

Indians third baseman Yandy Diaz got the ninth-inning rally going when he smacked a leadoff single to center field, which outfielder Tyler Naquin followed up with a single of his own to left. After a lineout from catcher Yan Gomes, outfielder Abraham Almonte drew a walk to load the bases.

Designated hitter Carlos Santana followed with an RBI walk with the bases loaded, which set the table for Lindor’s blast.

“He took a gorgeous swing,” Francona said of Lindor “Like hockey, I think Frankie was a plus-one, but it says a lot about his competitiveness because I know he was mad at himself.”

Rangers catcher Jonathan Lucroy singled to right field to start the fifth inning and moved over to second base when right fielder Joey Gallo drew a walk on a 3-2 pitch from Indians starter Danny Salazar.

After getting shortstop Elvis Andrus and designated hitter Delino DeShields to strike and foul out, respectively, Salazar had Shin-Soo Choo in an 0-2 hole after he swung and missed at two offerings, but then, a throwing error from Lindor on a fielder’s choice allowed Lucroy and Gallo to score.

Initially, Lindor fielded the ground ball from Choo and hustled toward second base for the final out of the inning. However, Gallo hustled his way from first and beat Lindor to the bag. Lindor tried to fire a throw to first base, but Edwin Encarnacion was off the bag and did not get his foot on the base in time for the final out of the frame.

Then, outfielder Nomar Mazara brought around the third run when he singled home Choo on a hit to center field.

“He made a mistake,” Francona said. “He knew it, and you could see by the way he (responded). Instead of putting his tail between his legs, he competed the rest of the game, and that was good to see.”