Bodie, Shayne Gostisbehere, Max Novak and Kevin Sullivan also scored and Colin Stevens made 36 saves for Union (32-6-4), the 2,200-student liberal arts college in Schenectady, N.Y., that competes in Division III in all other sports.
"I don't think anyone will call us Cinderella anymore," said Gostisbehere, who had a goal and two assists. "These guys, my brothers, they do everything for me. I don't care about anything else, were national champions."
Justin Kloos, Sam Warning, Taylor Cammarata and Hudson Fasching scored for Minnesota (28-7-6). Adam Wilcox stopped 41 shots for the five-time champion Gophers.
"Both teams are better defensively than a 7-4 score shows," Bodie said. "It's just one of those games where crazy bounces happen. We just wanted to stick with our process. We thought we were playing pretty well and great things happened."
Cammarata pulled Minnesota within one with the lone goal in the second period, but Novak restored the two-goal cushion on a deflection at 5:31 of the third.
Fasching cut it to 5-4 with a power-play goal with 3:40 left. Sullivan put it away with 1:22 to go, and Bodie scored into an empty net with 44.2 seconds remaining.
"Just one shift at a time," Bodie said. "This is the biggest game of our lives, hands down, but you've got to treat it like any other game.
"It was tough, I had people texting me, people calling me and stuff, and, you know, it was real tough to keep that mindset, but with our sport psychologist we were able to get that done."
Minnesota lost for the seventh time in the title game.