After Sean St Ledger's opener had been cancelled out by Jan Durica in the 36th minute, the Republic were handed a glorious chance to retake the lead in first-half stoppage time when Aiden McGeady was felled by Jan Mucha.
But the goalkeeper made up for his error with a fine save from Keane's spot-kick, and, as Slovakia dominated the second half, the Republic were left hanging on for a point which keeps them level with their opponents in Group B.
Coach Giovanni Trapattoni made two enforced changes from the side that lost 3-2 to Russia on Friday, with injury victims Kevin Doyle and Liam Lawrence replaced by Shane Long and Keith Fahey.
All the talk in the build-up to the match had been about the Republic's perceived negative tactics against Russia and their reliance on the long ball.
But they dominated possession in the early stages and, after a couple of scares when Kornel Salata headed over and Juraj Kucka shot wide, took a deserved lead in the 16th minute.
Durica fouled Long wide on the right and, when the Slovakia defence failed to deal with Fahey's free-kick, St Ledger squeezed a shot inside the post.
Midfield duo Whelan and Paul Green, who had struggled so badly against Russia, were enjoying a much more productive night, and for the most part the hosts were kept penned in their own half.
The Republic were, though, lucky to escape when McGeady's mistake allowed Radoslav Zabavnik to drill in a cross that Eric Jendrisek just failed to convert.
Then, in the 36th minute, from the first corner of the game, Slovakia equalised as Hamsik's cross was flicked on for Durica to power a header in off the crossbar.
The Republic arguably should have retaken the lead four minutes later after great work from Long down the right but, stretching, Keane could not get enough of a touch to turn it in.
The visitors were then dealt a blow when Green picked up an injury and had to be replaced by Darron Gibson.
With the half entering injury time, the Republic were presented with a glorious chance to move back ahead when Mucha was adjudged to have brought down Aiden McGeady as he ran onto a through-ball from Richard Dunne.
Keane stepped up but his penalty was too close to the keeper, who made up for his mistake in the best possible fashion.
The visitors were almost carved apart in the opening moments of the second half as first Vladimir Weiss and then Hamsik ran through the middle before a vital block from St Ledger averted the danger.
Slovakia had come out with renewed purpose and Shay Given nearly paid the price for taking too long to clear as Stanislav Sestak closed in, with the ball cannoning off the striker but away from goal.
In a reverse of the first half, it was the Republic who were camped in their own half, with Whelan's ambitious volley from 40 yards the sum total of their efforts as the clocked reached 65 minutes.
Shortly afterwards, Tomas Hubocan also tried his luck from distance but with much greater purpose, the defender's drilled shot from 25 yards drawing a decent save from Given.
Trapattoni made his first substitution in the 71st minute, bringing on Andy Keogh for Fahey, while his opposite number introduced Stoch and Filip Holosko.
Former Chelsea youngster Stoch immediately looked dangerous and, if there was going to be a winner, it seemed certain to come from the men in white as they continued to dominate.
Holosko headed another Hamsik corner wide while substitute Tomas Oravec failed to make clean contact with a header from 10 yards out.
The Republic had a good chance with five minutes to play when the ball broke to Keane eight yards out but, after turning smartly, the captain could not keep his shot down.
It was not to be Keane's night but the Republic may look back on this result as very much a point gained.