Haimona's rugby career began in 2005, playing for his local club Whakarewarewa in the Baywide Premier Rugby competition. In 2006, he helped his team to become champions of the Baywide Premier Rugby competition, scoring a try and kicking a crucial penalty to beat Rotoiti 18–17.
His passion for the team saw him become captain for a number of seasons, and in 2007, he was named in the Bay of Plenty squad for the 2007 Air New Zealand Cup.
Within weeks of joining the squad, he was promoted into the region's top squad for the rest of the competition, following the injury to regular Number 10 Murray Williams.
He made his Bay of Plenty debut off the bench on 25 August 2007 against Otago.
He has reselected for Bay of Plenty again in 2008, but struggled for game time during the season. After his brief stint with the Steamers, he continued to play with Whakarewarewa until 2011, where he was targeted by the Italian national team selectors. However, that would mean he would have to play in Italy for 3 consecutive years to earn player residency.
Haimona's Italian career began in late 2011, playing for Lyons Piacenza in the Serie A championship - the second tier of the Italian Rugby Union championships.
He consistently started and played well at Fly-half for Lyons. In early 2013 Calvisano signed him for the 2013-14 NCE.
He made his Calvisano debut on 21 September 2013 in a 36–0 victory over San Donà.
In 8 October 2014 he was named in the Italian National team for their 2014 end-of-year tests against Samoa, Argentina and South Africa.
He made his debut in the opening match against Samoa on 8 November 2014. He kicked 14 points in the 24–13 win, Italy's first win in 9 attempts.
He played 11 internationals before a broken arm prevented him playing at the 2015 Rugby World Cup.
He rejoined Bay of Plenty ahead of the 2016 Mitre 10 Cup.
JW July 17
|2013 - 2014|
|2014 - 2016|
|2014 - 2017|
|Bay of Plenty
|2007 - 2017|