The impressive Kodjia, who scored both of Villa's goals against Norwich at the weekend, bagged his 18th strike of the campaign to move the hosts within nine points of the play-off places.
Villa's seventh win in eight games was done the hard way as they failed to build upon Kodjia's fifth-minute goal.
Playing a side that had won just one of their last six games on the road, Steve Bruce's side often lived dangerously before emerging with the points.
The hosts made a blistering start and posted an early indication of their danger when Albert Adomah smashed a 20-yard shot against the foot of a post in only the third minute with goalkeeper Alex Smithies well beaten.
Rangers obviously failed to heed the warning as it took Villa only another two minutes to surge into the lead.
Leandro Bacuna, drafted into the side in place of Irishman Conor Hourihane, picked out the unmarked Kodjia with a defence-splitting pass and the Ivory Coast international responded by drilling home a powerful low drive to record his seventh goal in as many games.
The visitors had obviously been caught napping as they made a sluggish start and it took them some time to regroup. They managed to build up a promising attack only for Yeni Ngbakoto's effort to be deflected just wide of a post.
As against Norwich at the weekend, Villa struggled to build upon their slender lead and consequently enabled Rangers to get back into game.
The nippy Ngbakoto, in particular, was a persistent threat and he very nearly capitalised upon a risky back pass from Neil Taylor.
Villa were put under pressure as Rangers slowly gained control in midfield as they went in search of the equaliser, only to be thwarted by a somewhat anxious opposition.
With Grant Hall finally getting to grips with the Kodjia threat, Ian Holloway's side built up several promising attacks.
Substitute Conor Washington fired wide of goal while Jamie Mackie failed to hit the target when well placed in stoppage time.
But Villa held out to seal their second successive 1-0 victory over the London club.