"A lot of people have been saying we couldn't do it. I just let them talk," he said.
McCalebb, who had 109 yards rushing, scored on a 3-yard run and 25-yard catch while starting for Dyer, who was suspended for an undisclosed rules violation. Tre Mason added 64 yards rushing, including a 22-yard scoring run.
Auburn also had to regroup after Moseley left with an ankle injury in the first quarter.
The offensive outburst came in Auburn's last game with offensive coordinator Gus Malzahn, who has been hired as the Arkansas State coach.
"This was a breakout game for next season," said Auburn receiver Quan Bray. "What you saw here is the future of Auburn football."
Auburn (8-5) ran for 273 yards.
"I knew that we needed to run the ball well today as a team, and we knew we had to do that to get the win," McCalebb said.
The Tigers also had big plays on special teams, blocking two punts and recovering an onside kick.
"We couldn't afford to give up the field position like we did and hang in with them," said Virginia coach Mike London.
Kris Burd caught two touchdown passes for Virginia (8-5), which held out two top defensive players, cornerback Chase Minnifield and linebacker Steve Greer, with knee injuries. Greer was in uniform but didn't play.
London said he didn't want to risk more serious injuries Minnifield and Greer.
"On that surface when you have to cut and you have a knee injury, I'm not looking for heroes," London said.
"I don't want to risk further injury that would really cause a young man some harm."
One year after winning the national championship -- and losing Heisman Trophy winner Cam Newton -- Auburn absorbed lopsided losses to LSU, Georgia and Alabama in the second half of the regular season. After the loss to Alabama, defensive coordinator Ted Roof left for the same post at Central Florida.
While Malzahn stayed with Auburn for the bowl game, coach Gene Chizik took control of the defense.
"It was really important to me to get a win tonight," Malzahn said.
Moseley limped off the field with an injured right ankle after the Tigers' second possession. He did not return.
Trotter, a junior, started the first seven games before losing his job to Moseley. He made a triumphant return to prominence against Virginia, completing 11 of 18 passes for 175 yards and a touchdown.
"This guy is a man's man," said Chizik of Trotter, adding the junior "never pouted, never said anything negative" after losing his starting job.
Frazier, a freshman, had 16 carries for 55 yards and two touchdowns.
While others speculated that the loss of Dyer, an All-SEC selection, could be devastating to Auburn, McCalebb was eager to show he could be more than a change-of-pace back.
McCalebb set up his touchdown run with a 60-yard run.
Burd's 27-yard catch from Michael Rocco midway through the first quarter gave Virginia, wearing orange helmets for the first time since 1978, a 7-0 lead.
Then Auburn's special teams made the first of two momentum-changing plays in the half.
Freshman receiver Garrett Harper blocked a punt by Virginia's Jimmy Howell to give the Tigers possession at the Cavaliers' 15. Following a 12-yard run by McCalebb, Frazier scored from the 3.
Back-to-back unnecessary roughness penalties against Auburn's defense helped set up Burd's second touchdown catch from 35 yards for a 14-7 lead.
On the first play of Auburn's next possession, McCalebb broke free for a 60-yard run to the Virginia 25. He capped the drive with a 3-yard scoring run.
Chizik then called for an onside try and Cody Parkey recovered his own kick. After Trotter's 50-yard pass to Emory Blake, Frazier scored from the 1.
Auburn's Angelo Blackson blocked Howell's punt through the end zone for a safety in the third quarter. Virginia's only second-half points came on a 1-yard touchdown by Kevin Parks in the third quarter.
Parkey kicked field goals of 45 and 37 yards.
Rocco completed 26 of 41 passes for 312 yards with two touchdowns and an interception.
ATLANTA, GA - DECEMBER 31: Clint Moseley #15 of the Auburn Tigers warms up prior to facing the Virginia Cavaliers...