At the break, Shaw was batting on 52 off 42 balls with eight fours and a six, and had Cheteshwar Pujara for company.
West Indies were all out for 311 in their first innings, adding only 16 runs to their overnight total, as Yadav recorded a career-best figures of six for 88, polishing off the tail in only 6.4 overs in the morning.
Roston Chase (106 off 189 balls), however, deservedly completed his fourth Test hundred before the innings wrapped up.
When the Indian innings started, it was all about how comfortable Shaw looked against Shannon Gabriel and Jason Holder, as he completed his half-century in only 39 balls.
He started by using Gabriel's pace to hit a couple of boundaries. The first was guided past gully and the next was slashed hard over third-man for a six. When Holder pitched up, he played a lovely cover drive and an off-drive.
As Shaw scored with ease, his opening partner K L Rahul (4) looked like a player, who has currently lost all his confidence. Against the same bowlers he struggled and his miseries ended when he played on against Holder.
The only blemish on Shaw's part before he reached his half-century was a dropped catch off left-arm spinner Jomel Warrican. Shai Hope, at first slip, dropped it as Shaw tried to play a cut.
Before that he did hit Warrican over deep mid-wicket for a one-bounce four.
In the morning, Umesh surpassed his previous best figures of five for 93 recorded during a 2011 Test match at the Perth, as he removed Devendra Bishoo, Chase and Gabriel in quick succession to reach his individual milestone.
(This story has not been edited by Business Standard staff and is auto-generated from a syndicated feed.)