Luis Enrique's side edged past Switzerland on Friday (AEST) after opening its campaign with two draws, and it racked up another win at La Rosaleda in Malaga.
Valencia midfielder Soler scored the opening goal shortly after the midway point in the first half – his third strike at international level.
Substitute Sarabia made sure of all three points in the 75th minute as La Roja usurped Portugal, which lost 1-0 in Switzerland, at the top of the group.
Unai Simon denied Vaclav Cerny and Jan Kuchta inside the opening 20 minutes as the visitors started brightly.
Yet Spain went ahead with its first attempt on goal in the 24th minute, Soler drilling past Ales Mandous from eight yards after running onto Marco Asensio's pull-back.
Soler then clipped wide soon after as Spain fell short of doubling its advantage before the interval.
Simon pushed away a long-range drive from Alex Kral midway through a tepid second half as both sides struggled to build any momentum.
That was until Sarabia followed up his winner against Switzerland with another goal three minutes after being introduced for Asensio, the attacking midfielder nudging home from Ferran Torres's low cross to wrap up maximum points.