NASHVILLE, Tenn. -- Vanderbilt ended a three-game losing streak with a 21-20 non-conference win over Charleston Southern Saturday night.
The Commodores (2-5) built a 21-10 halftime lead before holding off a second-half rally by the Buccaneers (5-1).
Johnny McCrary completed 10-of-16 passes for 169 yards and a touchdown for Vanderbilt.
Charleston Southern's Mike Holloway rushed for 105 yards on 18 carries and caught three passes for 79 yards.
Charleston Southern narrowed the gap to 21-17 on Zachary Frazier's 8-yard touchdown run with 5:56 left in the third quarter. David Kennedy's 30-yard field goal narrowed the gap to 21-20 with 10:19 left.
Tommy Openshaw's 39-yard field goal on the game's first possession gave Vanderbilt a 3-0 lead with 10:57 left in the first quarter.
Vanderbilt's 3-0 lead after a quarter marked just the second time the Commodores have led after 15 minutes. They've been outscored 59-17 in the first quarter this season.
Kennedy's 23-yard field goal for Charleston Southern tied the score at 3 on the second play of the second quarter.
McCrary replaced starter Wade Freebeck early in the second quarter. Three plays later McCrary threw a 65-yard touchdown pass to C.J. Duncan, who got open behind the Buccaneers' secondary, giving the Commodores a 10-3 lead with 10:25 left in the first half.
Vanderbilt's Taurean Ferguson intercepted an Austin Brown pass and returned it to the Buccaneers' 34-yard line, setting up the Commodores next touchdown.
Six plays later Dallas Brown scored on an 8-yard run. Andrew East caught a conversion pass from Taylor Hudson, increasing Vanderbilt's lead to 18-3 with 5:06 left in the first half, but Charleston Southern's Larenzo Mathis blocked a Taylor Hudson punt and returned it 17 yards for a touchdown to make it 18-10 with 36 seconds left in the half.
Openshaw's second field goal, this one from 42 yards, built the Commodores' lead to 21-10 as time expired in the half.