Born in Kawakawa, New Zealand, Veainu went to St Andrew's College in Christchurch where in his final year of school he was made captain of the 1st XV. He was a regular in Canterburyage group sides over the years, making the under 16's, 18's and 19's whilst still at school. Veainu was a star on the wing for the NZ U-20s at the World Cup in Argentina where he scored five tries. Selected to the Canterbury squad for the 2010 ITM Cup, Veainu made his debut off the bench against Hawke's Bay and subsequently started in every match, scoring eight tries as Canterbury won the championship. Playing with Canterbury again for the 2011 ITM Cup, Veainu scored a further 5 tries in 11 games, in the process helping Canterbury win their fourth consecutive title. For the 2013 ITM Cup, Veainu moved north to join Hawke's Bay and scored 7 tries in 11 matches for the Magpies. Following his move to Australia to join the Melbourne Rebels, Veainu turned out for the Melbourne Rising in 2014, scoring 8 tries from just 6 starts.
After a solid ITM Cup season in 2010, Veainu received a contract to play for the Highlanders for the 2011 Super Rugby season. He made his debut in the Highlanders win over the Bulls in week 3 of the competition. He was again named in the Highlanders squad for 2012, but did not appear in any matches. For the 2013 Super Rugby season Veainu returned to his home province to sign with the Crusaders, but again struggled to duplicate his ITM Cup form, appearing in only 4 games as a substitute. His season, however, was highlighted by his first Super Rugby try against the Highlanders, his former squad, on June 29. On 17 September 2013, Veainu signed with the Melbourne Rebels for the 2014 and 2015 seasons. In May 2014, playing on the wing, he scored a runaway try for the Rebels in their loss to the Waratahs at home in Melbourne.
It was confirmed on 28 October 2015 that Veainu has joined English Premiership team Leicester Tigers. He made his debut at Welford Road against Wasps on 1 November scoring a try as Leicester won 24-16. Veainu quickly became a fan favourite and signed a contract extension on 11 January 2016. He won both newcomer of the year and player of the year in his first season in Leicester. Veainu was awarded try of the week in Week 16 for his try against Saracens. His form in 2017/18 saw Veainu named as the Rugby Players' Association Players' Player of the year. He left ahead of the 2020-21 season.
Stade Français
He joined Stade Français ahead of the 2020–21 season.