At half-time, Vitoria led 2-1 in front of their home fans with all three goals in the opening half coming from terrible defensive errors but Gil Vicente equalised 14 minutes after the break with Joao Vilela scoring after a brilliant run from Avtandil Ebralidze.
The visitors had the better chances to win the match but Vitoria held on for a point, which took them two positions clear of the relegation zone in Portugal's top tier.
Vitoria took the lead in the opening minute of Monday's clash at the Estadio do Bonfim with Gil Vicente's goalkeeper Adriano Facchini failing to punch away a long throw from Pedro Queiros and Rafael Martins smashed the ball home.
The visitors equalised just four minutes later, however, as Vitoria's Javier Cohene missed Vilela's centre from Ebralidze's cross, which allowed Bruno Moraes to finish from close range.
After Martins flashed a shot wide for the hosts, Vitoria again took the lead as a back pass sold Facchini short and the home side's Paulo Tavares challenged Gil Vicente's goalkeeper for the ball.
It spilled to Ricardo Horta and while the 19-year-old forward's shot was partially blocked, Tavares was on hand to score.
Gil Vicente had a penalty claim waved away on the half-hour mark before Vilela somehow bounced his volley into the ground and over the bar from close range four minutes later.
But in the 59th minute, the Portuguese attacking midfielder made up for that miss.
Ebralidze went on a driving run into the box, attracted four Vitoria defenders to him, spun and passed to Vilela, who thumped the ball into the roof of the net.
Gil Vicente were unable to find a winner that their play deserved, however, and Vitoria held on for an important point.
Vitoria have five points from six matches and sit one point clear of the relegation positions, while Gil Vicente (eight points) remain seventh.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.