Schalke, who languish 17th in their domestic league after a poor start to the season, looked destined for their second straight Group B defeat, took the points with late goals from Jefferson Farfan and Klaas-Jan Huntelaar.
The German side, who lost their opener to Olympique Lyon, are now second in the group on three points, with Lyon top with six after their 3-1 win at Hapoel Tel Aviv. Benfica also have three points.
"I am hugely satisfied because it was a tough match and Benfica have a great team as we saw in the first half," said Schalke coach Felix Magath.
"But I am especially satisfied with how we worked our way into the game and pulled the match away from them," he said.
With Schalke's defence, so impressive last season, again confused and erratic it was Benfica who pressed first with an unmarked Luisao forcing a save from Manuel Neuer.
Striker Javier Saviola then managed to fire wide from six metres when Luisao headed on a throw-in into the Argentine's path in what was Benfica's best chance.
Schalke were reduced to defending in numbers and had only one real chance of note in the first half when former Real Madrid forward Raul combined with fellow Spaniard Jose Manuel Jurado and hit the post with a left-footed shot.
Ivan Rakitic then failed to convert the rebound, with Benfica keeper Roberto keeping his cool to save the Croatian's close-range effort.
Benfica gradually lost their spark midway through the second half and then their offensive edge when striker Oscar Cardozo limped off with an injury.
Schalke seized their opportunity and with Farfan, playing behind Huntelaar and Raul, began to move forward.
The Peruvian grabbed the lead for them after 73 minutes when he controlled a Lukas Schmitz cross from the left and fired past Roberto.
With the Portuguese looking for an equaliser, Schalke relied on quick breaks and Dutch striker Huntelaar completed a Raul-led move by tucking in Schalke's second goal from three metres in the 85th minute.
"In the first half we were nervous but in the second we played simpler football and we were just better," said Huntelaar.
"I think Raul made a good move for that second goal. But overall the team played much better tonight," said the striker.
Thank you for reading 5 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1