Messi opened the scoring from the penalty spot after Junior Firpo’s cross struck defender Joseph Aidoo’s arm.
Lucas Olaza equalised for the visitors with an excellent free-kick, but Messi put the hosts back in front with a similar attempt four minutes later.
Messi stepped up again after half-time, before Sergio Busquets added a fourth.
Celta Vigo, playing their first game under new manager Óscar Garcia, started brightly as they looked to test a Barcelona side condemned to a shock 3-1 defeat by Levante last weekend.
Their early hard work was undone by Aidoo’s handball, and there was nothing goalkeeper Rubén Blanco could do as Messi’s inch-perfect free-kicks either side of the interval wrestled the game away from the visitors.
The match was already over as a contest when Busquets swept home his side’s fourth with five minutes remaining.