Tim Southee took wickets at both ends of the innings on his way to 4-48 in 19 overs, with Rishabh Pant (41) the only India batsman to manage a score above 30.
Shami removed Ross Taylor and BJ Watling, either side of Ishant Sharma dismissing Henry Nicholls, to leave New Zealand still 82 runs behind India's first innings 217 at lunch on the fifth day.
The Gunners' defence of the trophy they won by beating Chelsea last August ended with something of a whimper as Mikel Arteta's side struggled with repeatedly sloppy defending.
Arsenal could have fallen further behind with home striker Danny Ings going close for the hosts on several occasions.