James Pattinson also grabbed four wickets but was kicking himself after dismissing Carlos Brathwaite twice - only for the allrounder to be recalled because of no-balls.
The visitors resumed at 6-91 on Monday morning, with Darren Bravo having fought among a sea of failures on Sunday.
Bravo, who scored a century in the first Test, continued to show the sort of resolve that has been largely lacking from his side during the three-match series.
The first drop dug in desperately, scoring two runs in the first hour of play on day three.
Bravo was 15 off 102 balls at one stage but far more productive after lunch.
Tea was called when Smith held a catch at gully to dismiss Bravo for 81.
Kemar Roach, Jerome Taylor and Jomel Warrican all reached double figures as the tail wagged.
Earlier, Brathwaite scored a freewheeling 59 but should have been dismissed twice by Pattinson.
The debutant was out on 13 and 50 in the morning session but recalled both times when replays showed Pattinson overstepped.
The visiting batsmen almost completed their first wicket-less session of the series.
But the meal break came when Lyon completed a sharp catch off his own bowling to dismiss Brathwaite.
The offspinner also created one of few apprehensive moments in Bravo's knock, with a thick edge rocketing on to Peter Nevill's helmet in the second session.
Bravo was on 48 at the time.
Smith's side remain in the box seat to retain the Frank Worrell trophy and take a 2-0 lead in the three-Test series.
-AAP