The Mary Hardin-Baylor Cru won their first football national championship on Friday night, beating Wisconsin-Oshkosh in a 10-7 struggle at the Stagg Bowl in Salem, Va.

Here was our running diary of the game, which was low on points, but high on drama:

UMHB 10, UW-Oshkosh 7 (final). That’s it. What a win for the Cru.

UMHB 10, UW-Oshkosh 7 (0:35, 4Q). UMHB just picked off UW-Oshkosh’s Brett Kasper on fourth-and-10. The Cru are going to win the Division III national championship.

UMHB 10, UW-Oshkosh 7 (0:42, 4Q). Decision time for UW-Oshkosh, which appears to be going for it on fourth-and-10 instead of trying a long field goal with kicker Eli Wettstein. This would be from about 53, while Wettstein’s long on the year is 36. Seems like you’ve got to go for it, but it’s a hard call. Timeout, Titans.

UMHB 10, UW-Oshkosh 7 (0:59, 4Q). UW-Oshkosh needs three to tie, a touchdown to win. A pass interference call on UMHB has the Titans really close to field goal range.

UMHB 10, UW-Oshkosh 7 (2:11, 4Q). UW-Oshkosh has the ball, down just three, because of a missed chip-shot field goal by UMHB.

UMHB 10, UW-Oshkosh 7 (5:41, 4Q). I love a nicely executed flea-flicker. UMHB just pulled one off for 21 yards, and now the Cru are in the red zone. A touchdown here would probably seal the national title.

UMHB 10, UW-Oshkosh 7 (8:20, 4Q). UW-Oshkosh’s best offense right now:

59-YARD STAGG BOWL PUNT — SB✯Nation CFB (@SBNationCFB) December 17, 2016

UMHB 10, UW-Oshkosh 7 (15:00, 4Q). There were <checks calculator> no points scored in the third quarter. If that happens again, the Cru win.

UMHB 10, UW-Oshkosh 7 (3:58, 3Q). Ball security, ball security, ball security. UMHB quarterback Blake Jackson just fumbled it away at the UW-Oshkosh 6-yard line, leading by a field goal and with a chance to make this a two-score game. Jackson had just thrown a 54-yard pass to receiver T.J. Josey a few plays earlier, the longest play by either team all night. That’s gone to waste.

UMHB 10, UW-Oshkosh 7 (6:18, 3Q). See that note below? Well, UW-Oshkosh went three-and-out. This offense is averaging 3.9 yards per play, not that UMHB’s 4.1 is any great shakes.

UMHB 10, UW-Oshkosh 7 (7:32, 3Q). UW-Oshkosh has let a lot of good field position go to waste. The Titans are starting this drive on their own 43-yard-line — the fourth time in six series they’ve started beyond their own 35. They really, really need to capitalize at some point, or they’ll find themselves losing a highly winnable game.

UMHB 10, UW-Oshkosh 7 (10:30, 3Q). Things are now happening quickly. The UMHB defense just made a huge stop on a fourth-and-two just inside the Cru 30-yard line, stacking up Dylan Hecker for a loss of one. UW-Oshkosh could’ve tried about a 47-yard field goal but opted to go for it. But UMHB turned it over on a Markeith Miller fumble right after that, so the ball’s back in Oshkosh hands. It’s a frenetic game all of a sudden.

UMHB 10, UW-Oshkosh 7 (halftime). UW-Oshkosh quarterback Brett Kasper was 5-of-5 on a nifty-looking response drive, sitting on the UMHB 23-yard line after falling behind for the first time. Then Kasper threw a duck into a mess of UMHB defenders.

Jaedon Johnson’s interception keeps UMHB on top at the break. It’s been a weird game in that it’s felt slow to develop and has been neither especially well or poorly played. But it’s close, and we could be in for some drama later.

UMHB 10, UW-Oshkosh 7 (3:16, 2Q). The Cru have their first lead of the ballgame via a one-yard touchdown run by Blake Jackson. It’s been tough sledding to finish drives for both teams, but UMHB’s offense should continue to get better. This is a team that scores 49 points per game, after all.

UW-Oshkosh 7, UMHB 3 (6:34, 2Q). The Stagg Bowl has settled into a kind of lull. Both teams are controlling the ball just fine when they’ve got it, stringing together first downs and getting near or past midfield. But actual points have been hard to come by. UMHB’s moving a bit, and maybe the Cru can grab their first lead.

UW-Oshkosh 7, UMHB 3 (1:11, 1Q). UMHB mounted a pretty impressive response drive after UW-Oshkosh scored an opening touchdown. The good news: 20 plays and 66 yards. The bad: it stalled at the UW-Oshkosh 5-yard line for a field goal. That took eight-and-a-half minutes off the clock, and now this game’s really moving.

UW-Oshkosh 7, UMHB 0 (9:38, 1Q). Picture-perfect start here for the Titans. They got UMHB to go three-and-out, then drove 64 yards for the game’s opening points. Dylan Hecker plunged in from two yards out for the touchdown, and UW-Oshkosh is very much out here. Quarterback Brett Kasper made two key third-down throws on that drive, and one of them (a 39-yarder to CJ Blackburn) really got the Titans on their way.

7:06 p.m. ET: They’re playing. UMHB starts at its own 20.

Here’s a stream from Twitter, too, now with postgame chatter: