Leeds United ended Leicester City's winning run to make it two victories over promotion-chasing sides in the space of three days.
Neil Warnock's side were ahead after just three minutes when the referee pointed to the spot following Jeff Schlupp's foul on Sam Byram.
Lucciano Becchio made no mistake with the penalty for his 13th goal of the season.
Leicester struggled to gain possession in the early stages but forced Paddy Kenny to make a save when Richie De Laet shot from an acute angle.
Kasper Schmeichel kept Leicester in the match just before the break when he turned away a stinging drive from Paul Green.
Nigel Pearson made two half-time changes which nearly provided an instant reward when Anthony Knockaert came close with a low shot.
Leeds came close to making the game safe minutes later through Michael Brown, who drilled a shot inches past the post.
The Foxes failed to rally in the closing stages and missed out on the chance to improve their playoff position.