The hosts led by just 11 runs in their second innings with skipper Mushfiqur Rahim not out 16 and Sabbir Rahman not out 20 on a deteriorating pitch.
Bangladesh did not allow the visitors to add to their overnight total of 377 after sending number 11 Lyon packing but the off-spinner struck back with three wickets to take his match haul to 10.
Australia's only paceman, Pat Cummins, drew first blood after getting Soumya Sarkar for nine, caught at first slip by Matt Renshaw after edging a fuller delivery.
Left-arm spinner Steve O'Keefe joined in with the wicket of Nasir Hossain caught by Skipper Steve Smith at slip for 5 as the hosts collapsed to 43 for 5.
More From This Section
Mushfiqur and Sabbir steadied the innings and saw Bangladesh through to lunch with unbeaten 40-run partnership for the sixth wicket at the Zahur Ahmed Chowdhury Stadium.
The visitors, who trail 1-0 in the two-match series, secured a 72-run lead in response to Bangladesh's first innings 305.