The Australian bowler had reduced the Bangladesh innings to 117 for five after removing the top four batsmen. But a crucial 105 run partnership for the sixth wicket between Mushfiqur Rahim and Sabbir Rahman stemmed the slide.
Rahim was unbeaten on 62 and was accompanied by Nasir Hossain who scored 19 at close of play.
Bangladesh opted to bat after winning the toss. Lyon, who shared the new ball with the only pace bowler in the team Pat Cummins, made quick inroads into the Bangladeshi top order by claiming the wickets of Tamim Iqbal and Imrul Kyes with just 21 runs on the board.
Soumya Sarkar and Mominul Haque steadied the innings with a 49-run partnership. However, both fell to Lyon’s guile in quick succession. Left arm spinner Ashton Agar then claimed the prized wicket of Shakib al Hasan who scored 24.
Australia trail the hosts 1-0 in the two-match series after suffering their first-ever Test defeat against Bangladesh last week.
Australia reacted to the defeat by including bowling all-rounder Steve O'Keefe, who replaced injured fast bowler Josh Hazlewood.
Hilton Cartwright replaced batsman Usman Khawaja, who scored just one run each in his two innings in the first Test.