The hosts declared on 6-565 after a 45-minute thrash in the morning session, then picked up 11 wickets as they enforced the follow-on.
A vibrant 139 from young opener Brian Bennett held them back but the tourists could only muster 265 in the first innings and finished 2-30 after being sent back in.
With England still 270 in front, a hasty finish on the third day could be on the cards.
Debutant Sam Cook opened his international account in his third over, Ben Curran caught at slip, but the lion's share of the work was done by the captain and his young spinner at the Radcliffe Road End.
Bashir, who came into the game on the back of just two wickets in three loan appearances for Glamorgan, dismissed experienced campaigners Craig Ervine and Sean Williams and later bowled Tafadzwa Tsiga with a beauty. In doing so the 21-year-old beat Steven Finn to the 50-wicket mark by almost seven months.
In between times, Bashir injured a finger diving for a caught-and-bowled chance, leaving Stokes to step in while he left the field for treatment.
Stokes has not bowled a competitive delivery since tearing his hamstring in December and has rarely seemed comfortable with the ball recent years, but looked finely tuned in an eye-catching spell.
His second ball saw Bennett dropped at slip on 89 but Sikandar Raza and Wessly Madhevere were not so lucky, both dismissed in the space of 11 runless deliveries.
It was a brief stint from the skipper but one that contained the kind of focused venom he has not always been able to find in recent times.
Gus Atkinson finished off the innings with a couple of yorkers that were too hot for the tailenders who received them and, buoyed by a lead of exactly 300, Stokes called immediately for the follow-on.
That meant a second chance of the day for Bennett but he was not able to recreate the fluency that brought him 26 fours and an admirable hundred in his first attempt.
He was lbw to Atkinson for just one this time and Ervine turned Josh Tongue to short leg in a meek departure.
England had resumed on 3-498, adding another 67 and losing three more wickets. Ollie Pope added only two to his overnight 169 before nicking Tanaka Chivanga, Blessing Muzarabani bounced out Stokes for nine and Harry Brook launched three sixes in a flashy 58.