Terry's opener laid the foundation for Villa moving into the top six for the first time this season, as they extended their unbeaten home run in the league to nine games.
Fulham, unbeaten in their previous four matches including away triumphs at Nottingham Forest and QPR, equalised on the stroke of half-time through their leading scorer, Stefan Johansen, but Albert Adomah settled matters in the hosts' favour four minutes into the second half.
The visitors dominated the opening exchanges at Villa Park, with the link-up between Ryan Sessegnon and Floyd Ayite proving particularly troublesome to the home defence.
Villa weathered this storm and Joshua Onomah had a good opportunity, but the young Tottenham loanee somehow managed to scoop his effort over the bar.
An eager Fulham lived dangerously for a spell with Oliver Norwood and Rui Fonte picking up yellow cards.
The London side had a let-off when Jonathan Kodjia worked his way through the opposition defence only to produce a terrible shot which finished a yard away from the corner flag.
Villa's build-ups, in sharp contrast to Fulham, were laboured and complicated, but in the 23rd minute Terry put his mark on the game.
A free-kick from Conor Hourihane on the right was deftly headed home by the former England captain from close range.
Villa attempted to consolidate their advantage after taking the lead, with Hourihane producing a long-range drive which David Sutton saved.
Ayite continued to be the main threat for Fulham, tantalising the Villa defence with some penetrating runs, but he was let down by his finishing.
The much-deserved equaliser arrived in first-half stoppage time, after Ayite had been brought down on the edge of the penalty area by Glenn Whelan. Johansen curled the low free-kick around the wall and into the far corner of the net.
Villa were intent on making amends and four minutes into the second half Adomah restored their advantage. A low cross was missed completely by the out-of-form Kodjia but, fortunately for Villa, Adomah was on hand to slot the ball home.
Ayite continued to be a thorn in Villa's side and brought a brilliant reflex save from Sam Johnstone on 54 minutes, the Villa goalkeeper reacting superbly to keep out the Togo international's effort after he had moved onto a right-wing cross.
Fulham drafted in Tom Cairney on the hour, for his first game in two months due to a knee injury, and he immediately took over the captaincy from Kevin McDonald. But he could not inspire an equaliser as the Cottagers left empty-handed.