Heading into this encounter in search of a fourth successive league win, Leicester failed to capitalise on some basic errors from Arsenal prior to Vardy's well-worked 68th-minute strike — his 11th of the season.
Wilfred Ndidi had previously gone the closest to breaking the deadlock, hitting the crossbar early in the second half, while Pierre-Emerick Aubameyang had a goal rightly ruled out for offside at the other end.
Maddison settled the game with a fantastic second, making sure Brendan Rodgers' side continued its sparkling form and, temporarily at least, slot in behind former employer Liverpool in the table.
Matteo Guendouzi was fortunate to get away with a pull on Caglar Soyuncu early on, while Alexandre Lacazette should have done better with a close-range attempt at the culmination of an Arsenal counter-attack.
Unai Emery's side proved to be its own worst enemy with consistently sloppy play, and Ayoze Perez should have done better after latching onto Hector Bellerin's slack pass.
Ndidi looked sure to open the scoring four minutes after the restart only to lift his effort against the crossbar. While Aubameyang had no problem locating the net, a flag for offside came to Leicester's aid.
There was no hint of doubt when Vardy broke the deadlock, however, with Leicester's striker turning home after wonderful build-up play involving Harvey Barnes and Youri Tielemans.
Bernd Leno denied Vardy a second, although Arsenal's goalkeeper was left helpless to prevent Maddison picking out the bottom-right corner of his goal with a superb first-time strike, the Foxes wrapping up a deserved win in style.