Romine was the first player to accomplish the feat since Shane Halter for Detroit against Minnesota on Oct. 1, 2000. The 31-year-old utility man played catcher for the first time in his career and got one out while pitching.
Tigers manager Brad Ausmus was Halter's teammate in that game 17 years ago. He decided two years ago that the versatile Romine might be able to play each position, but the opportunity didn't present itself until Saturday night, with the Tigers eliminated from playoff contention and the Twins locked into the second AL wild card.
"Right now I'm just happy we won," Romine said in an on-field postgame interview. "I think it will kick in in a little bit ... relief, happiness, you name it -- I'm feeling it right now. It's so much fun."
Romine made five putouts, including the first and last outs. He began the evening in left field and ended at first, where he fielded Zack Granite's ground ball to clinch the victory, snapping the Tigers' six-game losing streak against the Twins.
"I said maybe I'll record all 27 outs when we got this going," Romine said with a laugh, adding that he was "willing the ball to me" at first on the final out.
Romine started in left and worked his way across the outfield before moving to third base in the fourth inning. He played shortstop in the fifth inning, second base in the sixth and catcher for four at-bats in the seventh.
"It would've been a lot easier on him if we could've gone 1-2-3,'' Hardy said, "but it's obviously not the way it went."
Romine pitched to Miguel Sano in the eighth, and the All-Star slugger bounced to third on a 3-1 pitch. Romine topped out at 87 mph on the stadium's radar gun.
"I tried to get the ball to the plate without leaving it over the middle," Romine said. "I just had to get in there to throw a couple and let my nerves come down."
Said Ausmus: "I'm not sure I wanted him to face Sano in a one-run game, but he got him out, so I give him credit."
After retiring Sano, Romine moved to first base, his ninth position of the night.
Romine's wife, mother and two sisters were at the ballpark to witness the achievement. His wife, who traveled from California, had to move her flight up a day because it was previously assumed that Romine would play each position in Sunday's regular-season finale.
"It's great," Romine said of having his family in attendance. "I'm so happy they made it out, especially with the rain issue going on, and everyone made it on time."
Ausmus opted to move the stunt to the season's penultimate day because of the threat of rain Sunday. Romine wanted to do it in front of the home fans during the Tigers' last homestand, but the team decided against it because of how many games were left in the season.
"I think there were some in the front office that felt like it wasn't the right time," Romine said pregame.
He joined Bert Campaneris, Cesar Tovar, Scott Sheldon and Halter in the exclusive group of players who have played every position in a game.
Romine also reached twice at the plate with a hit in the second inning and a walk in the fifth to start a two-run inning.
Twins manager Paul Molitor wasn't as enthused about the spectacle before the game but understood why Romine would want to pull it off.
"I'm not a huge fan of it," Molitor said pregame. "I guess if your team's in that position, then go ahead and let it fly. It's not a big deal. ... I'm sure maybe it's been on his bucket list for a while."
The Associated Press contributed to this report.