The Austrian winger scored a double which was enough to give Bruno Labbadia's men victory, despit Cisse's late consolation
In a game where the away side constantly looked threatening on the break, Harnik gave Bruno Labbadia's men the lead in the 32nd minute, following Freiburg's failure to clear a corner. The former Werder Bremen man grabbed his second and all three points for his team on 73 minutes.
Papiss Cisse scored to make it 2-1 yet Stuttgart managed to hold on for the win that takes them into a Champions League qualification spot.
Following a period of increased pressure, the away team took a vital lead on 32 minutes. Zdravko Kuzmanovic's corner was only-half cleared by the Freiburg defence with the ball falling to Harnik on the edge of the box, who struck the ball through the crowded penalty box and into the far corner, via the fingertips of Oliver Baumann.
Stuttgart wrapped up the points in the 73rd minute when Harnik doubled his tally for the night with a fine strike. Cristian Molinaro's whipped cross from the left found the Austrian winger unmarked at the back-post. Harnik took one touch to control the ball before lifting the bouncing ball over the keeper's head from eight yards out.
The home side grabbed a consolation in the 85th minute when Cisse scored his fifth Bundesliga goal of the season. The Senegalese striker received a through ball from Cedric Makiadi before slipping it through the legs of Sven Ulreich yet it was not to be enough for Marcus Sorg's side.
Next up for Stuttgart is a home encounter against Hamburg while Freiburg travel to Gelsenkirchen to face Schalke.