It was the most points scored by the Commodores (4-6, 2-4 SEC) since a 47-7 win over Austin Peay on Sept. 19. Vanderbilt second-year coach Derek Mason recorded his second SEC win.
Slumping Kentucky (4-6, 2-6) lost its fifth straight.
Both teams must win their last two games to become bowl eligible. Vanderbilt closes with Texas A&M and Tennessee. Kentucky hosts Charlotte and Louisville.
Ralph Webb led Vanderbilt with 113 rushing yards on 33 carries. The sophomore has been near the 100-yard mark in the last four games.
Stanley "Boom" Williams, playing his first game since suffering a left elbow injury in a loss to Tennessee on Halloween, led the Wildcats with 115 rushing yards on 13 carries.
The Commodores executed a trick play perfectly for their third TD, a 37-yard TD pass from Kyle Shurmur to an uncovered Caleb Scott to give Vanderbilt a 21-10 lead with 37 seconds left in the first half. Scott had jogged to the Vanderbilt sideline after a timeout and squatted down. No one from the Wildcats' secondary picked him up.
Kentucky answered late in the third quarter when Williams fond a big seam for a 67-yard run to the Commodores 7. Two plays later, Jojo Kemp's 2-yard TD narrowed the deficit to 21-17 with 1:06 left in the third quarter.
But MacGinnis missed a chance to narrow the gap further when his 37-yard field goal attempt went wide left with 10:21 left.
Kentucky opened the scoring on Austin MacGinnis' 38-yard field goal with 10:22 left in the first quarter.
Then Vanderbilt's defense started to assert itself.
Williams' 38-yard run to the 2 gave Kentucky four shots at the goal line from close range, but Vanderbilt kept the Wildcats out.
Vanderbilt defensive end Caleb Azubike, a former star at nearby McGavock High School, set up the Commodores' first touchdown when he jarred the ball loose from Williams and Jay Woods recovered at the Kentucky 4.
Shurmur threw a touchdown pass to Kyle Anderton on the next play, giving the Commodores a 7-3 lead with 36 seconds left in the first quarter.
Commodores' Darrius Sims muffed a punt that Kentucky's Jordan Jones recovered at the Commodores 3 early in the second quarter, but Burks intercepted Towles' pass intended for Dorian Baker in the end zone.
Kentucky brought in backup quarterback Drew Barker with 12:18 left in the first half and the freshman threw a 42-yard completion to Jeff Badet on his first play.
Several plays later Barker's 7-yard TD pass to Ryan Timmons gave Kentucky a 10-7 lead with 10:23 left in the half.
Burks struck again when he intercepted a Barker pass and returned it 30 yards for a TD, giving the Commodores a 14-10 lead with 5:10 left in the half.