Styris, in at four for two after left-arm quick Chaminda Vaas dismissed both New Zealand captain Stephen Fleming and Ross Taylor for nought, had previously scored three fifties this tournament.
Vaas, a member of the Sri Lanka side that won the 1996 World Cup, finished with three for 33 from nine overs having taken two for 12 in his first six.
But with fast bowler Lasith Malinga out with left ankle ligament damage, injury, Sri Lanka saw Styris lead a New Zealand recovery.
Off-spin star Muttiah Muralitharan, another of Sri Lanka's World Cup winners, followed up Vaas's burst with three for 32 to become the joint-leading wicket-taker in the tournament, moving level with Malinga and Australia quick Glenn McGrath on 15 wickets.
Styris shared stands of 69 for the third-wicket with opener Peter Fulton (28) and 64 for the fifth and seventh with Jacob Oram (31) and James Franklin, whose 25 not out came off 27 balls.
New Zealand came into this game top of the Super Eights table and one short of equalling their record run of 10 straight one-day international victories.
But this was their first match against a leading contender for the title.
And New Zealand were soon in trouble against the third-placed Lankans after Fleming was lbw to Vaas fifth ball for nought after winning the toss.
Fleming had now been dismissed seven times by Vaas for 40 runs in 99 balls since July 2001.
And New Zealand's plight worsened when Taylor, in for Hamish Marshall after a hamstring injury sidelined him for four games, edged Vaas and wicket-keeper Kumar Sangakkara, diving to his right, held a superb one-handed catch.
Sri Lanka nearly had a third wicket when Muralitharan's throw from mid-on just missed the stumps with Styris, on eight, yards shy of safety.
Styris - who took 20 balls to get off the mark - counter-attacked, lofting first change Farveez Maharoof over mid-wicket for four.
He then guided Maharoof, Malinga's replacement and the only change to the side that beat England by two runs in Antigua, behind point for four more.
Styris, on 34, survived a strong appeal for caught behind when Sangakkara, now standing up, clung on to a sweep off Vaas. But it was a difficult decision for the umpire to give.
However, the stand ended when Fulton clipped Vaas off his pads straight to Chamara Silva at square leg.
And then 71 for three became 77 for when Muralitharan had Craig McMillan, on one, top-edging a sweep to Silva at short fine leg.
Styris then completed his fifty off 82 balls with six fours.
Boundaries dried up against the spinners, New Zealand going 19 overs without one until Oram struck Tillakaratne Dilshan for six.
But two balls later he exited when, trying to repeat the stroke, he one-handedly skied to long-on where Maharoof held a well-judged catch.
Five balls later New Zealand were 146 for five when keeper Brendon McCullum played down the wrong line to Muralitharan and was lbw for one.
Styris then completed his fourth hundred at this level, off 152 balls, by pulling fast bowler Dilhara Fernando for his seventh boundary.
New Zealand 219 for 7 in 50 overs (Styris 111 n o, Oram 31, Fulton 28, Franklin 25 n o; Vaas 3 for 33, Murali 3 for 32) Vs Sri Lanka (yet to bat).