The Spain striker had gone nine league matches without scoring, his worst run since January 2016 when he played for Juventus, but his clever finish after 31 minutes set Diego Simeone's side on their way before Saul Niguez added a late second.
Barcelona's battling 4-2 defeat of Sevilla on Saturday left Atleti needing a good result to keep the pressure on in the title race, and Simeone named a strong side despite having only four days' rest from the Champions League victory over Juventus.
Atleti could have paid for a slow start, though, when Karl Toko Ekambi went through on goal, but he could only shoot straight at the legs of Jan Oblak.
Morata had been denied by a good save from Sergio Asenjo, but he made the most of his next opening, turning Filipe Luis' cross from the left beyond the keeper with a smart first-time finish with his left foot.
Diego Costa replaced Morata 58 minutes in and twice failed to make the most of one-on-one chances, while Jose Gimenez should have done better with a header he sent into Asenjo's grasp via the turf.
Gerard Moreno saw a chance snuffed out by Filipe Luis after a fine Alvaro Gonzalez pass, but Villarreal never looked likely to snatch an equaliser before Saul made the result safe, lofting the ball over Asenjo and into the net after the covering Victor Ruiz misjudged the flight of the finish.
What does it mean? Atleti's title challenge trundles along
This could have been a difficult test for Atleti, so soon after that win over Juventus and against unpredictable opponents, but they made light work of these three points.
Filipe Luis sends message to Simeone
Barcelona are reportedly interested in signing the left-back at the end of the season, and this was a performance that showed why he remains such a strong player. He was defensively sound throughout and set up Morata's goal with a clever cross.
Villarreal had few chances but Ekambi wasted the best of them. He offered little of note in the second half, either, when the visitors were chasing the game.
Key Opta facts- Atletico Madrid have ended a run of seven league games against Villarreal without a win (D3 L4), stretching back to April 2015.
- When Alvaro Morata has scored a LaLiga goal, his team has won the game every time (22 encounters).
- Atletico have scored at least one goal in each of their last 14 LaLiga home games (W10 D3 L1), their longest such run since November 2014 (16).
- Filipe Luis has been involved in four LaLiga goals versus Villarreal (one goal and three assists), more than against any other team as an Atletico player (along with Real Sociedad).
- Jan Oblak has the best save percentage of any goalkeeper in LaLiga this season, 78.7 per cent (minimum three games played).
Atleti head to Real Sociedad next Sunday, while Villarreal are back in action a day earlier at home to Deportivo Alaves.