Spain secured back-to-back Nations League victories with a 2-0 win against the Czech Republic in Malaga on Sunday.
Luis Enrique's men looked vulnerable at times against a physical Czech side but controlled the game for long stretches and were deserved winners at La Rosaleda.
Spain dominated possession in the opening stages, but created very little and were caught napping at the back. Marcos Alonso was often guilty of giving the ball way cheaply, with Vaclav Cerny robbing him of possession and forcing Unai Simon into a stretching save after 18 minutes.
The Athletic Club goalkeeper came to Spain's rescue again moments later when Cerny released Jan Kuchta on the break, and Simon denied the Czech striker with his feet.
But Spain scored with their first shot of the match through Carlos Soler. Koke's neat ball over the top found Marco Asensio, and he in turn waited to pick out the late run of Soler, firing in at Ales Mandous' near post.
Referee Cuneyt Cakir waved away calls for a Spain penalty soon after the opener when Jaroslav Zeleny tripped Asensio, dismissing strong appeals from the hosts. Before VAR could even complete the routine check for a spot kick, Soler fired wide from close range after again being picked out by the felled Asensio.
Simon, who spared La Roja's blushes early on, got away with a poor kick straight into the path of Jakub Pesek, with his cross towards Kuchta being cut out by the Spain stopper.
After the break, Dani Carvajal thought he had done enough to deal with a simple lofted through ball, but was beaten to it by Pesek and was lucky that his attempted lob landed on the roof of Simon's net.
Substitute Alex Kral lashed a long-range effort at goal as the visitors' frustration grew and Simon was required to scamper across his line and keep it out, while Gavi was denied at the other end by Mandous.
Spain doubled their lead with a quarter of an hour remaining. Gavi skipped away from the retreating visiting defenders and found Dani Olmo, whose flick found Ferran Torres. The Barcelona forward's deflected cross was tapped in by Pablo Sarabia.
Mandous had to be quick off his line to deny Olmo after Tomas Soucek's loose pass set the RB Leipzig man away, while Sarabia's search for a brace continued with an inaccurate curled effort.
La Roja had to settle for the two-goal victory which sees them move top of group A2 after Portugal were beaten by Switzerland.
1. Spain (4-3-3)
GK: Unai Simon - 7/10 - Saved Spain early on but was also prone to some iffy kicking.
RB: Dani Carvajal - 5/10 - Like his teammates, he sometimes endeavoured to allow the Czech Republic a sight at goal.
CB: Eric Garcia - 7/10 - Enrique has defended Garcia's defending in recent days. This was a better performance from the youngster.
CB: Inigo Martinez - 6/10 - Was the hero in the reverse fixture last week but struggled a little more here.
LB: Marcos Alonso - 3/10 - Spain pride themselves on playing with flair, technique and precision. Alonso did not contribute any of these things.
DM: Rodri - 8/10 - Recycled possession effortlessly. Easily won his midfield battle with Soucek.
CM: Carlos Soler - 9/10 - Always probed and asked questions of the Czech Republic. His runs gave Spain a much-needed extra dimension.
CM: Koke - 6/10 - Was useful when given acres of space to pass the ball.
RW: Marcos Asensio - 9/10 - Clearly enjoys playing under Enrique - only Jordi Alba has provided more assists for Spain since the 2018 World Cup.
CF: Alvaro Morata - 4/10 - Looked tidy when dropping deep but didn't threaten the visitors at all.
LW: Dani Olmo - 7/10 - Quite sloppy and wasteful to begin with but at least he worked hard and wasn't fazed by his errors.
SUB: Ferran Torres (59', CF for Morata) - 7/10 - Picked up the ball willingly and drifted into wide areas.
SUB: Gavi (59', CM for Soler) - 9/10 - Brought great directness to Spain's possession. Fearlessly ran at the Czech Republic.
SUB: Pablo Sarabia (72', RW for Asensio) - 8/10 - Came on, looked dangerous, scored. Job done.
SUB: Jordi Alba (79', LB for Alonso) - N/A
SUB: Sergio Busquets (79', DM for Koke) - N/A
2. Czech Republic (3-4-3)
GK: Ales Mandous - 4/10 - Did not inspire any confidence on his third appearance for the senior side.
CB: David Zima - 7/10 - Dealt well with Olmo and Alonso.
CB: Jakub Brabec - 5/10 - Shut Morata out of the game with relative ease. Was in for a shock when useful attackers in Gavi, Torres and Sarabia were introduced.
CB: Vaclav Jemelka - 4/10 - Had to help Zeleny contend with Asensio, which was a tough ask.
RM: Vladimir Coufal - 6/10 - Ran the hard yards and pressed Alonso into several errors.
CM: Michael Sadilek - 5/10 - Was disciplined in his half-hour on the pitch before being substituted with an injury.
CM: Tomas Soucek - 4/10 - Should have enjoyed bulldozing his way through a side with little physicality, but didn't. His limited skillset was exposed.
LM: Jaroslav Zeleny - 3/10 - A rough night failing to keep up with Asensio.
RF: Vaclav Cerny - 6/10 - Looked dangerous when on the ball but was also guilty of making some poor decisions.
CF: Jan Kuchta - 5/10 - Consistently troubled Spain with his clever movement, but didn't receive enough service.
LF: Jakub Pesek - 4/10 - Contributed little to the Czech Republic's attack.
SUB: Alex Kral (30', CM for Sadilek) - 4/10 - It was easy to tell that Kral a) didn't play a lot for West Ham this season and b) didn't deserve to.
SUB: Vaclav Jurecka (59', for Kuchta) - 4/10 - Didn't bring a lot to the game.
SUB: Adam Hlozek (60', RF for Cerny) - 4/10 - Found it tough to get involved.
SUB: Stanislav Tecl (79', LF for Pesek) - N/A
SUB: Lukas Kalvach (79', LM for Zeleny) - N/A