Poor defending from Barcelona gave their hosts a two-goal advantage minutes into the second half.
Sergi Busquets's short pass was intercepted by Medel, who played in Alvaro Negredo. The Spanish international striker shrugged off the challenge of Alex Song and neatly chipped past Victor Valdes to make the score 2-0.
Barca responded quickly and had a volley from Pedro cleared off the line with their next attack.
Fabregas reduced the deficit on 53 minutes with a sweetly-struck effort from range, marking the former Arsenal playmaker's first La Liga goal since January.
Lionel Messi kept up the relentless pressure, curling a free kick which looked destined for the top corner, before a strong save from Andres Palop.
The match changed with 20 minutes to go as Sevilla were reduced to ten men. Medel was dismissed after he leaned his head into Fabregas off the ball.
Vilanova brought on David Villa and Thiago Alcantara to try and force the equaliser, but it was Fabregas who restored parity with two minutes left on the clock.
In five minutes of stoppage time Barca's late domination finally told as Villa made no mistake from close range to send Vilanova wild on the touchline.