Jerry Bengtson gave Luis Suarez's side the lead with a towering header in the first-half as the Central Americans put up a good fight in the opening period.
After the break things were a little different as Spain dominated from start to finish, hitting the woodwork three times, with Adrian Lopez, Iker Muniain and Rodrigo all going very close to getting their team at least one point.
Luis Milla resisted the opportunity to make considerable changes following the defeat to Japan, with Alberto Botia coming in for the suspended Inigo Martinez and Iker Munian replacing Rodrigo the only differences to the team.
Honduras also named a very similar side to their 2-2 draw with Morocco, with Wilmer Crisanto the only new player as he came in for Alex Lopez at left-back.
Spain started in a fairly ominous fashion, attacking with intent, but the unfancied Hondurans took the lead with just over six minutes played as Roger Espinoza delivered a masterful cross from the left that Bengtson powerfully headed past David De Gea after unsurprisingly beating Jordi Alba in the air.
Milla’s side continued to control the possession after the goal, but they were struggling to create chances and Honduras were looking dangerous once again soon after.
Silky midfielder Mario Martinez found himself on the left-wing and brilliantly beating Martin Montoya before crossing in for Bengtson, but this time Botia was able to clear for a corner.
After missing out the Japan defeat with injury, Muniain was looking determined to leave his print on the match, but after a good run in which he beat two defenders thanks to a one-two with Isco, his final ball back to the Malaga man was poor and Honduras marched away with possession.
A few minutes later it was the final ball again letting Spain down. This time thanks to some good work by Isco and Juan Mata, Munian found Adrian in the left channel of the penalty area, but when in a prime position to cross he gave the ball straight to the goalkeeper. The despair of his teammates was patently obvious.
Spain were living life dangerously, and when Javi Martinez conceded a free-kick on the left-hand side, the Athletic Club midfielder’s Honduran namesake almost found the bottom corner with a curling delivery, but De Gea saved well down to his right.
Mata had the Spaniards’ best chance with 10 minutes left of the first-half. Montoya advanced down the right before cutting back a well-placed cross towards the Chelsea man, but his sliced volley bounced and spun inches wide of the far post.
The final chance of the first period also fell to Mata, who narrowly missed the very same post with a low curling effort after Isco’s knock back and Milla’s side deservedly went into the break trailing.
La Roja started the second-half in a similar manner to the first, attacking with intent from the off, but it was Honduras who had the first chance as Martinez’s cross was volleyed goalwards from a tight angle by Espinoza, but Botia got in the way and blocked.
Two minutes later the exact same combination was inches from doubling their lead as Martinez’s sumptuous delivering from the right was headed on to the post by Espinoza, with St. James’ Park gasping with shock as the rebound bounced just behind Bengtson.
Spain nearly hit back with an instant reply as Adrian headed Montoya’s deep cross against the crossbar, before he was then put through on goal by Mata, but Honduras captain Johnny Leveron got back in time and poked the ball away from the Atletico Madrid man.
With just over 20 minutes to go, Spain struck the woodwork again, and it denied what would have been a quite brilliant goal. The elusive Muniain received possession just inside the Honduras half before turning his marker, drifting inside and firing from the edge of the area, but the post bailed out the helpless Jose Mendoza.
Spain were dominating now, but they just couldn’t find the net as substitute Rodrigo headed Montoya’s cross towards the far side of the goal, but Mendoza launched himself into the air and knocked it round the post.
La Roja were playing some excellent pass-and-move football, but luck just wouldn’t go their way as Ander Herrera slipped a pass through to Adrian whose shot was saved by Mendoza, and then from the rebound Jordi Alba’s first-touch deserted him.
Adrian was involved again a minute later as he surged into the area from the left side and was bundled over from behind by Arnold Peralta, but no penalty was given.
Spain hit the frame of the goal for a third time with eight minutes to go as Adrian’s chipped cross evaded Mendoza, but Rodrigo, with the goal at his mercy could only find the crossbar.
They were then denied another penalty as Adrian was once again dumped on the floor in the area, and this time they lost their cool as Muniain barged into the referee, while Mata was booked for arguing.
Young Anthony Lozano had a late chance for Honduras, winning a corner after some dodgy goalkeeping by De Gea, and they managed to hold on for a magnificent victory.
Follow @GoalUSA on Twitter.