Barca keep their pace in the LaLiga title race by seeing off hapless Villarreal.
Griezmann’s two goals proved to be the difference in the end, the winner coming from Foyth’s mistake.
Villarreal took the lead on 27 minutes and it was Chukwueze’s pace that did for Barcelona’s defence.
Paul Torres stepped out from the back and played Villarreal’s lightning quick winger into space.
Jordi Alba had followed the Nigerian forward across from the left flank to the right but he slipped and Chukwueze stepped around Ter Stegen to score.
Barcelona’s response was immediate and the story of two dinks.
First Oscar Mingueza dinked the ball over the top of Villarreal’s defence and, running on to it, Griezmann dinked the ball over Asenjo for an instant equalizer.
Griezmann then put Barcelona into the lead 10 minutes before the break with another gift of a pass, this time from one of his rivals.
Tottenham loanee Juan Foyfth passed the ball back to his keeper but it was cut out en-route by the alert Frenchman who scored his 11th of the season in La Liga.
Although Barca stepped off the gas in the second half, Villarreal didn’t do enough to take advantage and Trigueros’ red card for a terrible challenge on Messi killed any comeback they might have had.
Barca’s win cements their position in third in LaLiga.
Koeman’s men are just two points behind leaders Atletico Madrid, and on equal points with Real Madrid who have played a game more.
They could yet pip their rivals to the title. Villarreal stay seventh. A top five finish is still well within their means.
Barca’s title challenge continues next week as they host Granada, while Villarreal welcome Arsenal for the first leg of their Europa League semi-final.
Barca may have come out on top here, but both teams could be celebrating come the end of the season.