LAFAYETTE — Two quarterbacks led a game-winning drive. Tracy Walker went from goat to hero in a matter of seconds. And in a matter of a couple of hours, the Louisiana-Lafayette football team may have turned its season around in a 34-31 win against Georgia State on Saturday night.

The win snapped a three-game losing streak for the Cajuns.

“I’m proud of our guys because we got back to doing what we do at home,” Cajuns coach Mark Hudspeth said. “That’s play hard, that’s play with passion, that’s making plays with the game on the line. To me, it was a great step in the right direction.”

Walker, the Cajuns’ redshirt freshman safety, was flagged for a questionable pass-interference call on third-and-goal from the 11-yard line on Georgia State’s second-to-last drive. The Panthers went in for the go-ahead score on the next play

But when the Cajuns needed Walker to come through, he made a play.

Trailing by three with a little less than two minutes remaining, the Panthers were facing fourth-and-6 from their 29-yard line. The down and distance didn’t faze the Panthers, who converted 9-of-14 on third down in the contest, and quarterback Nick Arbuckle looked like he did it again.

He drilled Robert Davis on a crossing route, and it looked like Davis was going to pick up the first down. But Walker came flying in out of nowhere to make the game-saving tackle.

“At the safety position, it’s like playing quarterback,” Walker said. “When you make a mistake, you just have to put it behind you and continue to push on.”

But before Walker’s heroics counted for anything, the Cajuns had to get a game-winning drive started with some Brooks Haack magic.

Wait, that Brooks Haack? Yes, Brooks Haack, the Cajuns backup who entered the game when starter Terrance Broadway left with muscle spasms in his lower leg early in the fourth quarter.

No problem.

Haack completed all four of his pass attempts on the drive for 50 yards, the last of which was a 22-yard prayer on third-and-4 to Al Riles, who just barely snuck his foot inside the white boundary to keep the Cajuns’ drive alive.

“He rolls out, scrambles, breaks a tackle and throws a strike,” Hudspeth said. “Al just drags his toe — it can’t be any closer, bang-bang right there on the sideline.”

The play was reviewed and upheld, and Broadway relieved Haack.

He immediately looked for senior receiver Jamal Robinson, who missed most of the previous three games with a knee injury. Robinson had beaten his man but had to work back to make the catch. He did, giving the Cajuns a 34-31 lead in what would eventually prove to be the game-winner.

“This guy has been in a ton of battles. He’s been in the foxhole,” Hudspeth said. “I hope the fans tonight will say some good things about Terrance Broadway. … I’m proud of that guy.”

Robinson finished with eight catches for 119 yards and a pair of scores, giving him two 100-yard games on the year. Broadway threw for 216 yards and the two touchdowns to Robinson, and he also played his first turnover-free game of the season.

The Cajuns struck first on their first possession, when running back Elijah McGuire zoomed around the edge on a sweep and turned on his jets. McGuire outraced the Panthers defense 54 yards to the end zone.

But that was just the beginning of a back-and-forth affair. The two teams traded touchdowns throughout a game that featured eight lead changes.

The Cajuns gave up 425 yards, but a number of Panthers drives were kept alive by Cajuns penalties.

The Cajuns entered the game having committed the fewest penalties in the Sun Belt, but they were penalized 13 times for 115 yards Saturday night.

Hudspeth declined to comment on the penalties, preferring instead to soak in the feeling of winning a game that has been so elusive for the Cajuns this season.

“Still a long ways to go, but … this was a step in the right direction,” Hudspeth said.