Suarez was anonymous in a first half that could not have started worse for the hosts. Inter striker Lautaro Martinez sprang free to sweep home the opener just three minutes in.
But the Blaugrana were much more purposeful after the interval. Suarez equalized through a perfectly timed volley in the 58th minute and guided a shot past Samir Handanovic with six minutes to go to clinch the victory.
Barcelona are now tied with Borussia Dortmund with four points, while Inter and Slavia Prague round out Group F with a point each.
Earlier in the evening, it looked as if Inter would come away with a famous three points. Antonio Conte's side was clearly up for the occasion, pushing high and wide and hitting Barcelona on the counter.
Martinez had a chance to double Inter's lead in the 36th minute, but Marc-Andre ter Stegen produced a low, diving stop on the Argentine's powerful header.
The game changed in the 52nd minute when embattled Barcelona manager Ernesto Valverde substituted Sergio Busquets for Arturo Vidal. The aggressive Chilean energized Barcelona's midfield and played the pass that led to Suarez's tying goal.
Inter tried to press on and hit Barcelona again on the counter. But this time it fizzled out, and the home side struck back instantaneously. Ter Stegen rolled the ball forward to Vidal, who carried it forward and found Lionel Messi. The fleet-footed Argentine weaved his way through midfield before setting up Suarez for the winner.
Barcelona remain unbeaten at home in 33 Champions League matches.