Buffalo got its first bowl win, and Jaret Patterson put an exclamation point on his record-setting season.

Patterson ran for 173 yards and two touchdowns, Kyle Vantrease passed for a touchdown and ran for another and Buffalo got its first bowl win in four tries by beating Charlotte 31-9 on Friday in the Bahamas Bowl.

“I’m just really proud of this group guys and how hard they worked," Bulls coach Lance Leipold said. “We overcame a lot."

Patterson had 32 carries for the Bulls (8-5), who were winless in three previous bowl appearances. He finished the year with a slew of school single-season records, including 330 carries, 1,799 yards and 19 rushing touchdowns.

Antonio Nunn caught a 12-yard touchdown pass from Vantrease on the first Buffalo drive to open the scoring, and Vantrease capped a marathon 15-play, 74-yard, 8-1/2-minute drive by plunging in from the 1 with 3:33 left in the half to push the Bulls’ lead to 14-0.

Patterson scored on a 6-yard run midway through the third quarter to make it 24-0, then sealed the win with a 10-yard TD rush late to cap a 16-play scoring drive.

“He wore us down," Charlotte coach Will Healy said.

Victor Tucker caught a 51-yard catch-and-run touchdown pass from Chris Reynolds late in the third quarter for Charlotte (7-6), which saw its five-game winning streak snapped. Charlotte was in a bowl game for the first time.

Reynolds completed 15 of 24 passes for 198 yards.

The bowl game was the first of 40 to be played this season.

THE TAKEAWAY

Buffalo: The Bulls had lost all three of their previous bowl trips by double-digits, but never trailed in this game. Buffalo ended the season with six wins in seven games, the only misstep in there being a three-point loss at Kent State on Nov. 14.

Charlotte: The bowl loss may sting for a bit, but it’s important to note that the 49ers — in only their fifth season at the FBS level — had been 2-10, 4-8, 1-11 and 5-7 before this year. Charlotte not only got to a bowl but did so in a year where it was picked to finish last in Conference USA’s East division.

BALANCED TRIP

During their days in the Bahamas, the teams took part in a youth clinic, dance contests, a pinball tournament and some beach and pool time. Temperatures Friday were in the mid-70s in the Bahamas, mid-50s in Charlotte — and mid-20s in Buffalo. “To be able to get down here in the sun is really nice for us,” Bulls defensive end Taylor Riggins said.

TOUGH DEBUT

Charlotte went scoreless on its first seven possessions and punted on only one of those. The 49ers missed a field-goal attempt — Jonathan Cruz’s 33-yard try late in the first quarter got caught up in the 25 mph right-to-left breeze and sailed well past the left upright — plus had two other drives stopped on downs and two more snuffed out by turnovers. The other possession was erased by the end of the first half, without the offense even getting on the field after Charlotte’s Marquavis Gibbs intercepted a pass by Vantrease and ran it back to near midfield as the second quarter ended.

ODD FINISH

The teams shook hands and Buffalo began celebrating thinking the game was over — but there were three seconds left on the clock. So the teams headed back to their sidelines, Charlotte then called time-out, and Reynolds got sacked on the ‘second’ final play.

UP NEXT

Buffalo: Open next season Sept. 5 at Kansas State.

Charlotte: Open next season Sept. 5 at Tennessee.