In windy conditions, Mid Canterbury scored first down the right-hand touch from winger Tait Chisman, before Whanganui struck back to lead 7-5 after standout midfielder Kameli Kuruyabaki beat several tackles for the first of two tries, converted by first-five Craig Clare.
There was a big controversy in Mid Canterbury's second try as dangerous winger Raitube Vasurakuta appeared to have brushed the touchline in the cover tackle, with the linesman beginning to raise his flag, only to stop.
Whanganui's cover defenders stopped chasing, but Vasurakuta carried on and found halfback Liam McCormack inside to dash off and score in the grandstand corner.
The visitors then lost lock Josh Lane to a yellow card professional foul just before halftime.
Mid Canterbury would score a converted try through flanker Osian Davies, while Whanganui reserve Ethan Robinson added a penalty and slotted the equalising conversion after Kuruyabaki again broke tackles to dive under the posts.
But after losing reserve flanker Kieran Hussey to the sin bin with 11 minutes to go, Whanganui were under the pump in their own half and Koroitamana eventually made his hero dash.
"We put ourselves in a position where we were chasing the game," said captain Campbell Hart.
"We didn't make the most of the wind in the second half. The wind was strong and they just held the ball."
With no semifinals in 2021, the loss puts Whanganui in must-win mode for their remaining six games, which includes further tough away fixtures in Timaru and Te Aroha.
"Unfortunately, we're going to have to. We need Mid Canterbury to take points away from the Thames Valleys and South Canterburys, and then we've got to beat them as well," said assistant coach Jason Hamlin.
Whanganui's scrum was pressured by the Cantabrians, while the lineout was solid, but conditions did not suit the lightning-quick backs to move the ball laterally like they did against Poverty Bay.
"We were challenging them that this week was a different game," said Hamlin.
"We had the opportunity to be a little bit better than we were."
Hamlin singled out Kuruyabaki for an excellent performance, but felt the side did not manoeuvre him into position well enough to further capitalise, while the touch judge lapse on McCormack's try was "disheartening".
Fullback Te Rangatira Waitokia suffered a head knock, and while passing the concussion test, he may still need a week off.
Mid Canterbury 24 (Tait Chisman, Liam McCormack, Osian Davies, Seta Koroitamana tries; George Williams 2 con) bt Whanganui 17 (Kameli Kuruyabaki 2 tries; Ethan Robinson pen, con, Craig Clare con). HT: 10-7.