
Villa, looking for their 11th straight home win in all competitions, took the lead just before the break as Morgan Rogers found Watkins at the edge of the box, and the England forward fired home with his right foot.
The hosts doubled their lead in the 49th minute when Matty Cash crossed to McGinn, who found the net with a left-footed flick.
Morgan Gibbs-White scored for Forest, but McGinn caught keeper John Victor off his line to make it 3-1 in the 73rd minute.
Villa, a point above third-placed Manchester City, who have played a game fewer, visit Crystal Palace on Wednesday.
Forest remained 17th, four points above the drop zone, after their fourth straight loss in the league.