Leicester’s seventh win in a row – the first time they have put together such a run since 1993 – gave them an eight-point lead at the top of the Sky Bet Championship table.
Vardy scored his 10th goal of the season with a close range finish in the 52nd minute and De Laet netted with a far-post header in the 73rd minute. In between times, Shay Given saved a David Nugent penalty.
Both sides were unchanged with defender Daniel Ayala cleared to play for Middlesbrough after completing a permanent transfer following his loan spell from Norwich.
Minutes before the teams emerged the ground was hit by a torrential thunderstorm that blew some perimeter advertising hoardings onto the pitch and left many parts of the playing surface virtually waterlogged.
But while conditions were still fit for play it made for a disappointing and low quality first half with very few chances created by either side.
The best one went to Boro in the third minute. Mustapha Carayol produced a fine low cross from the left but Lukas Jutkiewicz missed the target from close range.
Three minutes later, Liam Moore, City’s young centre-back who has been a transfer target for Fulham, crashed into a post as he slid in trying to score from Anthony Knockaert’s low free-kick from the right.
He tried to resume after treatment but had to go off two minutes later with what looked to be a rib injury.
Polish international Marcin Wasilewski replaced him but both sides continued to struggle in the conditions.
Neither goalkeeper had to make a save in a dire 45 minutes with Vardy slicing a long-range shot wide just before the interval.
The ground staff spent the break forking the pitch and with the rain easing off conditions looked much better at the start of the second half.
Boro were first to attack and Kasper Schmeichel was forced to make his first save of the game, safely clutching a header from Jutkiewicz from Albert Adomah’s cross.
But in the 52nd minute the Foxes snatched the lead.
A long ball from Paul Konchesky saw Nugent win possession with a strong challenge on Ayala before, setting up Vardy for a simple finish.
It was Vardy’s 10th goal of the season, but Boro protested furiously convinced Ayala had been fouled.
Another long ball threatened Boro again but this time Given raced off his line to beat the onrushing Vardy.
With the ball travelling across the surface much better now there was more pace and flow to the game, and Vardy was causing all manner of problems and earned the Foxes a 71st-minute penalty when he was brought down by Rhys Williams.
Given, however, dived to his right to save Nugent’s spot kick.
It was a short lived reprieve for Boro.
When Williams flattened Vardy again in the 73rd minute, this time outside the area to the left of goal, Matty James picked out De Laet with his free kick and the defender scored with a header at the far post.