Fernando took 3-26 and Theekshana 3-35 to jointly knock the top off the New Zealand innings as it chased 291 for victory.