A debut goal from Marcelinho and a heroic goalkeeping display from Vladislav Stoyanov, who denied Cristiano Ronaldo from the penalty spot, earned Bulgaria a shock 1-0 friendly victory over Portugal in Leiria.

Stoyanov saved a second-half spot-kick from Real Madrid star Ronaldo as Ivaylo Petev's men produced a stubborn rearguard action to secure a morale-boosting victory. Portugal dominated virtually from the off, but was guilty of missing a string of chances as its Euro 2016 preparations suffered a blow.

Head coach Fernando Santos cut an often frustrated figure on the bench as his side failed to make the most of its almost complete dominance and the home fans made their feelings clear as they whistled their team off at the final whistle. Bulgaria, in contrast, was clearly thrilled with its backs-to-the wall victory that came off the back of a disappointing Euro 2016 qualification campaign in which it finished eight points adrift of a play-off place. >Nani reveals Ronaldo debt

Portugal came absolutely tearing out of the blocks, with Ronaldo and strike partner Nani forcing visiting goalkeeper Stoyanov to make no fewer than five saves within the opening six minutes. The best of those chances fell the way of Nani, who latched onto Pepe's long ball into the box, but saw his close-range strike spectacularly palmed over.

Ronaldo really should have put his side ahead after nine minutes, but fired wastefully over after the overworked Stoyanov had failed to cut out a low Nani cross from the left. 

Remarkably, however, it was Bulgaria who took the lead after 19 minutes. Moments after skipper Ivelin Popov had tested Anthony Lopes with a 20-yard free-kick, Brazilian-born Marcelinho marked his international bow by taking advantage of some hesitant defending to wriggle free in the box and poke the ball into the net.

Portugal's response came in the form of a well-struck Ronaldo free-kick that Stoyanov did well to claw away, before Nani, Joao Mario and Adrien Silva all wasted decent chances to equalise. In total, Santos' side managed 20 attempts at goal in the first half to Bulgaria's two and yet still went in 1-0 down at the break.

Mihail Aleksandrov then wasted a fine chance for the visitor early in the second half, blazing over after excellent approach work from the lively Popov. But normal service was swiftly restored as Stoyanov was called upon to deny Nani and Ronaldo yet again and Adrien Silva also went close.

With 23 minutes left, Portugal wasted an even better opportunity when Nikolay Bodurov handled Pepe's cross in the box. Ronaldo stepped up to take the penalty, but Stoyanov produced his best save of the night to keep out the Madrid man's well-struck effort and Portugal, which next faces Belgium on Tuesday, was left to rue what could have been.