The all-rounder ripped through Derbyshire’s top order to take 4 for 6 in nine overs and ended with 5 for 23 as the home side were bowled out for 156 with fast bowler Sam Conners scoring a career-best 39 off 28 balls.
That gave Kent a lead of 129 and when bad light ended play early, they were 276 in front on 147 for 1 with Zak Crawley scoring his second 50 of the match and Jordan Cox an unbeaten 58.
Derbyshire’s frail batting was again exposed by Stewart who exploited overcast conditions to take four of the first five wickets to fall.
Leus du Plooy went to the second ball of the morning which he edged to third slip and Wayne Madsen was the next to go after taking 26 balls to get off the mark.
He edged Nathan Gilchrist to third slip where Jack Leaning leapt to hold the second of four catches and although Billy Godleman and Matt Critchley briefly counter-attacked, the slide continued in Stewart’s second spell.
The pair plundered five consecutive fours off Gilchrist and Jas Singh but Critchley was caught behind driving expansively at Stewart who then brought one back sharply to bowl Tom Wood.
Derbyshire began the afternoon session just as badly with Brooke Guest lbw to the second ball from Harry Podmore and when Anuj Dal became Stewart’s fifth victim, Derbyshire were in danger of following-on.
Billy Godleman fell to a breathtaking diving catch by Leaning at gully for an obdurate 31 off 109 balls but some uncomplicated blows by Conners and Ben Aitchison spared Derbyshire from being asked to bat again.
Despite limping after turning an ankle, Conners struck four fours and two sixes before he swung Podmore to deep midwicket but it was the seventh time in 13 matches this season that Derbyshire had failed to register a batting point.
With Conners unable to bowl, Kent built steadily against a depleted attack before Crawley was caught at mid off for 68 and they closed in a commanding position although rain could hold them up on day three.