Vicente del Bosque’s men bossed the Group D tie from the kickoff, with a double by Juventus’ Alvaro Morata and a first competitive international goal from Nolito sealing a comfortable win.
Turkey could also face UEFA sanctions after sections of their support lit flares and threw firecrackers onto the pitch at full-time.
Spain, aiming for an unprecedented third consecutive Euros title, can seal top spot in the pool with just a draw against Croatia in their final group game on Tuesday.
Turkey need to beat the Czech Republic in their final match and hope other results go their way to have any chance of progressing as one of the four best third-placed sides from the six groups.
First Sergio Busquets teed up Nolito for a right-footed curler just wide of left post.
Then the busy Celta Vigo winger scuffed wide under pressure after a cutback from Juanfran.
On 34 minutes, though, Nolito turned provider to greater effect.
Looking up, he spotted Morata unmarked in front of goal and curled a pass over the defence to the marksman whose header gave Spain the lead.
Three minutes later, Vicente del Bosque’s men went two-up, this time with Nolito as the finisher.
A chip into the box by Cesc Fabregas should not have reached its target but Mehmet Topal, off-balance, headed backward to the lurking Nolito who half-volleyed on the turn past Volkan Babacan.
After the break, despite some brief flurries of Turkish resistance, Spain quickly added a third on 48 minutes.
Iniesta, immaculate throughout, threaded a ball through the Turkish defence to Jordi Alba who squared to Morata for his second of the night, a tap-in through Babacan’s legs.
It was all too easy after that for the two-time defending champions.
Substitute Bruno Soriano nearly scored a fourth midway through the half, forcing a Babacan to tip round the post.
Then two minutes from the end he ballooned over when well-placed.
It was another desperately disappointing day for Turkey who had come into the tournament in fine form.
Fancied by some as dark horses to at least escape the group, they didn’t manage a shot on target against Spain while their fans even took to booing their star player Barcelona’s Arda Turan late on.