Fati, 17, followed up his brace against Villarreal at the weekend with the opener in the 11th minute at Balaidos when he produced a fine finish with the outside of his boot.
Defender Clement Lenglet was sent off just before the break for a second booking but, despite being a man down, Barca kicked on in the second half to claim the points.
They doubled their lead when Lucas Olaza turned into his own net following a dazzling run from Lionel Messi -- who later had a goal ruled out for offside -- before Sergi Roberto added the third late on.
Barca ended a run of six games without a win in Vigo and did it by overcoming the elements. Not only was there a storm raging throughout the whole game, making for difficult playing conditions, but they had to manage an entire 45 minutes with 10 men as well. After a fancy win over Villarreal, Ronald Koeman's side showed their grit here.
There are good signs going forward. Fati has started the season on fire, Messi is still Messi despite trying to leave in the summer and Philippe Coutinho, who set up the first goal, produced one his best displays in a Barca shirt since he became the club's record signing at €160 million in 2018.
Also: two league games, two clean sheets.
Lenglet's red card didn't cost them at Balaidos but it could yet come back to haunt them. The French international will miss Sunday's game against his former side Sevilla at a time when Barca are already stretched at the centre-back position.
Manager rating out of 10
8 -- Koeman stuck with the same side that beat Villarreal and it had the same result, with Ansu delivering early on again. His decision to remove Griezmann instead of Coutinho when Barca went down to 10 deserves praise, too. Griezmann's a harder worker and it could have been preferable to keep him on, but Coutinho's quality in the second half helped ensure Barca were able to claim the points.
Player ratings (1-10; 10 = best. Players introduced after 70 minutes get no rating)
DF Sergi Roberto, 6 -- Lacked quality going forward despite rifling in Barca's third goal at the end of the game but produced a brilliant block in the second half to keep out an almost certain goal from Miguel Baeza.
DF Clement Lenglet, 4 -- Unlucky to be sent off for a second booking but if you lean across with your elbow when already on a yellow you run the risk of an early bath.
DF Jordi Alba, 6 -- A quieter game than against Villarreal but always a useful outlet for Barca on the left.
MF Sergio Busquets, 6 -- An improvement from his performance at the weekend but it's increasingly clear his place in this side is no longer guaranteed.
MF Frenkie de Jong, 7 -- Comfortable in a midfield two and happy to drive forward with the ball. Produced one really good cross for Griezmann at the far post.
FW Antoine Griezmann, 5 -- Taken off when Lenglet was sent off before half-time after a low-key evening. H most memorable moment was a poor first touch after a brilliant De Jong ball.
FW Philippe Coutino, 8 -- Really relishing the second chance he's been given. Upped his game when Barca went down to 10, linked well with Fati and Messi and was unlucky not to score, hitting the post and later drawing a decent save from Ivan Villar.
FW Ansu Fati, 8 -- A third goal in two games reaffirmed the point that this 17-year-old sensation is here to stay. The finish was sublime. He has a knack for opening the scoring in games.
FW Lionel Messi, 8 -- Didn't score the second goal but did all the hard work, ghosting past three players before his cross was deflected in. Also had a goal ruled out for the most marginal of offsides. His on-pitch link-up with Fati is getting better and better.
DF Ronald Araujo, 7 -- Didn't put a foot wrong after slotting in alongside Pique when Lenglet received his marching orders.
FW Pedri, N/R -- Not enough time for the 17-year-old to get into the game.
FW Francisco Trincao, N/R -- A further display of his skills and talent in another brief cameo.