Diego Simeone's side capitalised on Athletic Bilbao's defeat by La Liga leaders Real Madrid on Sunday to move back into the Champions League qualification places, even if they left it late.
Axel Witsel nodded Atletico ahead after nine minutes but Alexander Sorloth pegged back the visitors soon after half-time of an entertaining clash.
Substitute Saul decided an even game in the final stages less than five minutes after coming on.
Atletico moved two points clear of Athletic with eight matches remaining, still trailing third-place Girona by seven points.
"(Saul) entered the game well and scored a great goal," Simeone told Movistar.
"I've put him on a bunch of times because I believe in him and I hope he can give us a lot."
Simeone said his team still needed to improve to lock down Champions League qualification for next season.
"Athletic are having a very good season, Girona aren't giving up, and we have to improve," said the coach.
"Pace of play and intensity decide things and we have to improve in that regard."
Witsel drew first blood with a fine header from Rodrigo Riquelme's corner, twisting his body to meet the ball at the near post and direct it looping home at the far.
The 35-year-old Belgian had only scored once before for Atletico, also against Villarreal last November.
Sorloth pulled Villarreal level five minutes into the second half with an accurate low finish from the edge of the box.
Angel Correa flashed a shot narrowly off target and Alvaro Morata fired straight at Villarreal goalkeeper Filip Jorgensen, albeit from a wide angle, as Atletico scrambled to go back in front.
Jan Oblak saved a low deflected effort from Yerson Mosquera at the other end, with the game opening up.
Eventually Saul stroked home from the edge of the box soon after coming on from the bench, and although Atletico had to nervously wait out a VAR check for a possible offside, the goal was given.
Villarreal came close to levelling deep in stoppage time when Bertrand Traore's cross evaded everyone and flew just past Oblak's far post.
Defeat leaves Villarreal 10th in what has been an underwhelming season for them.
"I'm happy, more for the win than for the goal, it was important," Witsel told Movistar.
"(Simeone) will want us to do better, but he'll be very happy with the win."