Crystal Palace 2 Aston Villa 0
The Palace marksman pounced in the 33rd minute and again midway through the second half with his fifth penalty to take his tally to 13 for the season.
The first half was a real cracker with both sides serving attacking open football.
The Eagles had strong claims for penalty turned down on seven minutes when Wayne Routledge was brought down by Ecuadorian defender Ulises De la Cruz, but referee Andy D'Urso was not in the best position to make a decision and waved play on.
Villa's main danger came down the left flank with Gareth Barry in particular cropping up quite frequently and in good positions. The midfielder should have done better though when he was put through following smart work from Jlloyd Samuel, but he wasted a great chance by firing wide of the target.
Then Palace had a decent flurry of attacking when Johnson's shot low and hard from the edge of the area fell a whisker wide of Thomas Sorensen's goal.
Shortly after Vassilios Lakis went down the left, cutting inside before forcing Sorensen to make a top-class save, tipping the ball over the bar.
At the other end Barry was again wasteful with a poor finish when two of his team-mates were waiting in the goalmouth for his cross.
But it was Palace who broke the deadlock in the 33rd minute. Lakis on the left fed the ball inside to Ben Watson, who was given time and space to fire in a shot which Sorensen could only parry and Johnson quick as ever roared in to follow up from 10 yards.
The second half was as good as the first. Watson kept the tempo on a high note with a right-foot volley that dropped wide after some tenacious grafting from Johnson, but Villa played their part in the afternoon's entertainment.
Gavin McCann, who worked tirelessly in midfield, brought a tremendous save from Palace keeper Gabor Kiraly and on the hour Stephen Davies brought the Hungarian into the action again with a close-range effort.
But the anxiety in the Palace camp eased and on 64 minutes after brilliant ball play from Routledge on the right touchline, he eventually got his cross over which fell to Lakis, who slipped past Mark Delaney some 12 yards out for goal.
However, the Villa defender caught Lakis' ankle and the referee, this time well placed, pointed to the spot. Johnson stepped up with a right-foot shot which flew into the right corner given Sorensen no chance.
Villa never gave up and continued to participate in an exciting match. Juan Pablo Angel headed straight into the arms of Kiraly and then McCann fired wide.
Nolberto Solano who was a danger throughout, but he underlined Villa's frustration when his goalbound shot was somehow clawed away by Kiraly, but this was a deserved three point for the Eagles.