DALLAS — All the progress Southern made during the past three weeks looked ready to unravel Saturday.

Quarterback Ladarius Skelton was on the bench again, and the Jaguars defense was scrambling to hold off an Texas Southern team smelling its first victory of the season.

Then backup quarterback Bubba McDaniel stepped in and threw three touchdown passes, and the SU defense came up with a strip and fumble recovery to hold off winless Texas Southern 28-21 at the State Fair Showdown in the Cotton Bowl.

Southern (4-3, 3-0 in SWAC play) held on to win its third consecutive game and beat the Tigers (0-7, 0-3) for the eighth straight time, but not before giving its fans some anxious moments right to the end.

Even with McDaniel’s heroics, Southern needed a forced fumble by Datrel Brumfield and a recovery by Jordan Williams, both reserves, at the Jaguars 24-yard line with 55 seconds left. Tigers quarterback Devin Williams completed a pass to the SWAC’s leading receiver, Donnie Corley. Brumfield hit him from behind and Jordan Williams pounced on it.

“Today was one of those days when the game didn’t go to our expectations,” Southern coach Dawson Odums said. “But I’m proud of them because they still found a way to win.”

McDaniel played a huge part, injecting life into a Southern passing game that failed to produce 100 yards in the past two games. McDaniel’ three TD throws and his 252 yards on 17 of 26 passing were career highs. Southern committed three turnovers, including two fumbles by running back Devon Benn.

McDaniel’s 35-yard scoring pass to Jamar Washington capped a 75-yard scoring drive he highlighted with a 29-yard completion to Hunter Register. The next time the Jaguars had the ball, he found Register for a 31-yard touchdown and then added an 7-yard flip to freshman tight end Jadarion Davis to give the Jaguars a 28-14 lead with 11:57 to play.

McDaniel might have had a fourth TD pass but Kendric Jones dropped what would have been a 57-yarder later in the fourth quarter.

“When coach put me in, he told me to do my job, my 1/11th and get the win,” said McDaniel, a redshirt sophomore from Dothan, Alabama.

McDaniel’s counterpart on the other sideline did more than his 1/11th. Junior Devin Williams, starting his third game in place of injured starter DeAndre Johnson, completed 29 of 44 passes for 335 yards. Although he didn’t throw a scoring pass, he ran for two in the second half to keep the pressure on the Southern defense, which allowed 516 yards.

“I thought Devin played with a tremendous amount of heart,” Texas Southern coach Clarence McKinney said. “He does a great job of leading the team and running the offense. He’s only going to get better. It’s his first year in our system and his third game. He’s performed better each week.

“We’ve been close for quite a few weeks now. It’s frustrating. But we understand every problem has a lifespan, every mountain has a top. We’re going to let frustration give in before we give in. Our guys are going to continue to work, keep chopping. Eventually we’ll get into the win column.”

Skelton wasn’t all that bad while he was playing. He engineered a nine-play, 65-yard scoring drive on the Jaguars’ first possession, capped by an 11-yard scoring run by Washington. Skelton threw his seventh interception the next time Southern had the ball but also ran six times for 39 yards and left the game in the midst of a drive at the TSU 40-yard line.

McDaniel moved Southern to the 14 but Cesar Barajas, who was four of five coming in, missed a 31-yard field goal. Barajas also struggled with his kickoffs, squibbing one that led to a long return and sending another out of bounds.

Texas Southern’s Dominic Franklin rushed for 110 yards on 17 carries and tied the game in the first quarter with a 39-yard scoring run. But he carried only four times for 10 yards in the second half.

McDaniel’s second touchdown pass made it 21-7 and the Jaguars appeared to be taking control. But Benn’s second lost fumble of the game at the Southern 16 gave the Tigers new life. Williams scored three plays later on a 14-yard option keeper to make it a one score game with 13:55 left.

McDaniel answered when he stepped up in the pocket and made a nice touch throw to Davis, for his first career touchdown.

“Very lackluster today,” Odums said of the Jaguars defense. “I thought it was a roller coaster. We didn’t play with the passion we’ve played with in the past. We had some pressures, but I don’t think we had any sacks. They had 44 attempts and no sacks? Kind of hard to stop somebody.

“You’ve got to be locked in and ready to play. When you’re not, you don’t protect the football, turn it over, give up big plays, give up big runs, big passes, can’t kick the ball inbounds, miss field goals and all those things come to haunt you.”