Ireland stunned World Cup winners Germany with a stoppage time equaliser by John O'Shea on his 100th appearance to draw 1-1 in their Euro 2016 qualifier.

The Germans were in complete command, as they had been in their 2-0 defeat to Poland in Warsaw on Saturday, and had a bagful of chances against the Irish, but were again missing the finishing touch.

Toni Kroos seemed to have rescued the three points for the injury-hit Germans and settled the nerves of 50,000 fans in Gelsenkirchen with a powerful low drive that went in off the post.

But O'Shea silenced the home crowd with his stoppage-time goal to punish lacklustre Germany.

The result left the Germans on four points in Group D with Ireland on seven.

Elsewhere, another headed goal in second-half injury time by Cristiano Ronaldo gave Portugal a much-needed 1-0 win over Denmark.

Ronaldo rose to meet Ricardo Quaresma's cross and bury his header past Kasper Schmeichel to claim all three points after referee Felix Byrch played five minutes stoppage time at the end of the game.

Ronaldo's goal lifts Portugal off the bottom of the table and into third in the five-team group on three points. Denmark remain second, level on four points with leaders Albania. 

Results:

Germany 1 - 1 Rep of Ireland

Gibraltar 0 - 3 Georgia

Poland 2 - 2 Scotland

San Marino 0 - 4 Switzerland

Faroe Islands 0 - 1 Hungary

Finland 0 - 2 Romania

Greece 0 - 2 Northern Ireland

Denmark 0 - 1 Portugal

Source: Reuters