Sri Lanka are still 22 runs behind in the first innings with the New Zealand innings folding at 249 earlier in the day.
Resuming from their overnight score of 203/5, the Kiwis could only manage to add another 46 runs, thanks to an inspired spell by seamer Suranga Lakmal who returned figures of 4/29.
Overnight batsmen Mitchell Santner (13) could only add five runs to his name while Ross Taylor (86) failed to go past his Wednesday's score. Lakmal accounted for both the wickets.
Tim Southee and Trent Boult chipped in with 14 and 18 runs, respectively, before being dismissed while Patel went back on a golden duck. William Somerville remianed unbeaten on nine runs.
The islanders were also off to a shaky start, losing Lahiru Thirimanne (10) with just 27 runs on board. Patel made full use of the tricky Galle wicket as he kept on jolting the hosts at regular intervals.
Mendis (53) and Mathews (50) showed some resistance before becoming victims of Patel. Sri Lanka were once reeling at 161/7 before Niroshan Dickwella (39 not out) and Lakmal (28 not out) rescued their side with an unbeaten 66-run satnd.
Brief scores: 1st innings: New Zealand 249 all out in 83.2 overs (Ross Taylor 86, Henry Nicholls 42; Akila Dananjaya 5/80, Suranga Lakmal 4/29) vs Sri Lanka: 227/7 in 80 overs (Kusal Mendis 53, Angelo Mathews 50; Ajaz Patel 5/76).
( With inputs from IANS )