McKinnon looked sharp after missing all of the season to date through injury as his team made hard work of a mountain of possession before beating the Broncos.
The win put the Warriors on 24 competition points, keeping them in a race for the last of the eight playoff spots.
The Warriors had most of the ball and field position in the first half but failed to take advantage of it.
A rare foray into the Warriors half earned the Broncos the lead through an 11th minute Corey Parker penalty, and after Ben Matulino forced his way over for the Warriors midway through the half, the Broncos struck straight back with an excellent try.
Slick inter passing from dummy half at the halfway line put Karmichael Hunt in the clear, and from there Darren Lockyer was able to put prop Ben Hannant over near the posts.
But with 90 seconds to go in the half, McKinnon made his mark. Seeing that McKinnon’s presence had brought Hunt into the defensive line from a scrum 30m out, Nathan Fien chipped the ball over the defence, allowing McKinnon to easily outsprint the defence and score to the right of the posts. Michael Witt’s conversion gave the Warriors a 10-8 halftime lead.
The Warriors made their pressure count 12 minutes into the second half. After gaining 50m from a Jerome Ropati break, Manu Vatuvei outjumped the Broncos on a last-tackle kick and Witt beat the defence to the touchdown.
Witt was unable to convert his own try but with 15 minutes to go kicked a penalty from 40m to give his team an eight-point advantage.
The Broncos capitalised on an incursion into Warriors territory with 10 minutes to go, Denan Kemp latching onto a Peter Wallace kick to score in the right corner. It gave the home fans some anxious moments at the end but their team held on and were clearly better on the night.
NZ WARRIORS 16 (B Matulino W McKinnon M Witt tries M Witt 2 goals)
BRISBANE 12 (B Hannant D Kemp tries C Parker 2 goals)