There was a mix of relief and frustration for Nick Willis as he salvaged a Commonwealth Games bronze medal after missing the boat in the 1500m final.

On a rain-soaked Hampden Park track, Willis finished third behind Kenyans James Magut and Ronald Kwemoi as he pipped South Africa's Johan Cronje for bronze with a late lunge. Fellow New Zealander Julian Matthews was ninth.

It was Willis' third successive Commonwealth Games medal after gold in 2006 and bronze four years ago.

The US-based 31-year-old was handily placed just before the bell, but got shuffled back as the sprint went on 200m out.

He was eighth at the 120m mark and stuck to the inside lane before hooking out and finishing with a late burst. Magut stormed past his compatriot to win in a slow 3min 39.31sec while Willis clocked 3:39.60.

"I wouldn't say that I timed it right; I timed it wrongly and that's why I had a chance at only the bronze medal, not the other two. It was a relief hoping that I actually had salvaged a medal," Willis said after a long victory lap with the New Zealand flag.

"I went straight over to the South African and said 'sorry mate, you deserved that far more than I did, you ran a much more cagey and brave race'. It was only my fitness that got me to that medal, not any tactical nous or brilliance."

Willis said he should have learned his lesson from Delhi in 2010 when the pace didn't clap on till 200m out, rather than the 400m he was accustomed to. The Kenyans sprinted and Willis got boxed in.

"I'll watch the race with a huge amount of frustration thinking what could have been. I'm not saying I would have beaten those guys but you at least want to be in the conversation with 100m to go and today I wasn't.

"But you don't want to miss out on being on a podium and I'll be up there and see the New Zealand flag raised and add to the tally of such a fantastic [medal] haul."

Willis attempted the 5000m on day one of the Games and admitted that may have contributed to him feeling flat in the 1500m.

He looked comfortable in the heats and appeared a genuine contender but said he struggled to switch from fourth to fifth gear, and the longer distance and subsequent rest in recent days meant he wasn't as sharp.

"The 5km definitely motivated me. I committed to doing the two races but especially after London and the last two world championships I haven't performed to the best of my abilities and I didn't want it to become a habit, to not really live up to it.

"This was it, if I didn't do it today then I don't know how I would have coped emotionally going into Rio when there's a lot more pressure."

Willis' medal made it five for New Zealand at Hampden Park, after throwers Valerie Adams (gold), Julia Ratcliffe (silver) and Tom Walsh (silver).

Javelin thrower Stuart Farquhar finished fifth in the javelin final amid pouring rain. His 78.14m effort was his only counting throw, as Kenya's Julius Yego won gold with a distance of 83.87m.