Dudgeon then put down a chance to get Holden when he edged Hasan Mahmud when he was on 162, but it was he who finally broke the partnership when he had Zafar caught hooking by Ben Compton.
Dudgeon then had Holden caught behind, but by then the deficit was only four and Tom Helm put the visitors in front when he punched Stewart through the covers.
Toby Roland-Jones pulled Dudgeon for six over fine leg and one over went for 19 before Helm skied Dudgeon to Bell-Drummond for 11.
The South African would have had two in two balls, but Chris Benjamin then dropped Sharma down the leg side. He did, however wrap up the innings and the session when Roland-Jones was caught at fine leg by the sub, Harry Finch for 28.
Kent’s second innings started slowly and Helm fired Middlesex’s hopes with the early wicket of Compton, who was caught behind for four.
It took the hosts over an hour to reach parity and they were only 13 ahead when Sharma bowled Ben Dawkins, off stump for 11. Sam Northeast had ground his way to 46 when Seb Morgan had him lbw in the final over before tea, leaving Kent on 80-3.
Bell-Drummond and Ekansh Singh injected some impetus with a stand of 82 in the evening session. The 44th over went for 20, with both batters hitting Zafar for six, but just as it looked as if Kent were getting on top, du Plooy replaced Zafar with Sharma, who bowled Bell-Drummond off stump.
Chris Benjamin was just getting going when Morgan strangled him for 16 and Sharma then cleaned up Stewart for eight after du Plooy switched him to the Nackington Road End.
And there was a final flourish from the Middlesex skipper when he brought on Helm, who got the crucial wicket of Kent’s last recognised batter, Ekansh Singh for 46, with the first ball of his spell.
Report by ECB Reporters’ Network, supported by Rothesay.