Match ends, Republic of Ireland 2, Bosnia and Herzegovina 0.
The Republic of Ireland secured a Euro 2016 spot as two goals from Jon Walters helped them overcome Bosnia-Herzegovina in the play-off second leg in Dublin.
Walters netted a hugely controversial 24th-minute penalty after Bosnia's Ervin Zukanovic was harshly adjudged to have handled a Daryl Murphy cross.
That put the Irish 2-1 up on aggregate and the win was all but secured when Walters volleyed in on 70 minutes.
The Republic join Northern Ireland, England and Wales in reaching France.
- More reaction to the Republic of Ireland's play-off success
- Listen to both goals and the moment the Republic qualified
- 'Roy Keane actually cracked a smile' - podcast
Fortune favours Ireland - finally
Ireland's win came six years after Thierry Henry's infamous handball denied the Irish a place at the 2010 World Cup.
On that occasion, the referee's failure to spot the France forward's blatant infringement in the play-off second leg in Paris led to the Republic's heartbreaking failure to qualify for the finals in South Africa.
But six years on, a hugely contentious decision by Dutch referee Bjorn Kuipers sent the Irish on their way to Euro 2016 as he ruled that Bosnian defender Zukanovic had handled Murphy's cross.
It looked more a case of ball to hand as Zukanovic had no chance to avoid the contact but Walters, back after his first-leg suspension, held his nerve to send his former Stoke City team-mate Asmir Begovic the wrong way from the spot.
It was to prove the game's pivotal moment.
O'Neill and Keane - an unlikely success story
Republic football fans had long wanted Martin O'Neill as the country's manager but his decision to appoint Roy Keane as his assistant led to raised eyebrows as many wondered how two such strong characters could work together.
After the encouragement of a battling 1-1 draw against world champions Germany in Gelsenkirchen 13 months ago, the Republic's qualification hopes looked in grave doubt as a defeat by Scotland was followed by home draws against Poland and the Scots.
But last month's unlikely home victory over the Germans reignited the Republic's prospects and, despite the defeat by Poland three days later, they had put themselves in a position to challenge for a place in France via the play-offs.
With the Football Association of Ireland having already offered O'Neill a new deal, the duo will now be expected to remain in charge for the foreseeable future.
A victory against the odds
The Republic are not blessed with the strength in depth they once possessed - former defender Mark Lawrenson said afterwards that O'Neill "probably had the least talented group of players available of any Irish manager who has qualified".
With captain John O'Shea and influential striker Shane Long not risked from the start because of injury, the under-strength Republic line-up included three Championship players - Derby duo Richard Keogh and Jeff Hendrick, plus Ipswich striker Daryl Murphy.
They looked to have a daunting task against a Bosnian side which included Chelsea goalkeeper Begovic, Roma duo Edin Dzeko and Miralem Pjanic, plus other Serie A stars Zukanovic and Lulic.
Hamburg's Emir Spahic was also in the Bosnian starting XI along with another Bundesliga player, Schalke's Sead Kolasinac.
Of the Republic's eight Premier League starters, Aston Villa defender Ciaran Clark had played only six times this season, while goalkeeper Darren Randolph had made only three starts for West Ham.
But a performance full of tenacity and endeavour ensured it was the hosts who were celebrating, leaving their more celebrated opponents contemplating an empty summer.
|More on the Republic reaching Euro 2016:|
|O'Neill wants more special moments|
|Reporter mobbed as Irish celebrate|
|The secrets behind the Republic's success|
Man of the match - Jon Walters
Stats you need to know
- The Republic scored with both of their only shots on target
- The Republic qualify for European finals for the third time
- O'Neill's side are unbeaten in nine internationals at home
Republic of Ireland manager Martin O'Neill:
"I never once dared to dream about getting to France, never once because of the group that we were involved in, so it is special.
"That moment when the referee blows the whistle and you are in France, it is just very, very special, very special indeed.
"It's more special because it means so much to a lot of people, naturally the players first and foremost, but to the nation as a whole."
Republic of Ireland goalscorer Jon Walters:
"The whole team on the pitch are heroes. We got there in the end, we did it the hard way, but we got there.
"You've got to take it in because these moments don't come round often in a career."
Bosnia manager Mehmed Bazdarevic:
"I'm very disappointed about the game. We lost and unfortunately, it's very hard for me to speak about it.
"We tried to answer the Irish players with the correct mind of an aggressive game and we did our best.
"I don't want to speak too much about the Ireland penalty because it could have consequences, but the referee had a terrible night. He was the worst on the pitch."
R. of Ireland
- 6WhelanSubstituted forO'Sheaat 90+1'minutes
- 20HoolahanSubstituted forMcCleanat 54'minutesBooked at 59mins
- 13MurphySubstituted forLongat 55'minutes
- 4SpahicBooked at 20mins
- 17ZukanovicBooked at 83mins
- 8MedunjaninSubstituted forDjuricat 69'minutesBooked at 90mins
- 2CocalicSubstituted forBesicat 45'minutes
- 16LulicBooked at 23minsSubstituted forIbisevicat 80'minutes
- 11DzekoBooked at 90mins
- Björn Kuipers
- Shots on Target
Second Half ends, Republic of Ireland 2, Bosnia and Herzegovina 0.
Milan Djuric (Bosnia and Herzegovina) is shown the yellow card.
Edin Dzeko (Bosnia and Herzegovina) is shown the yellow card.
Foul by Milan Djuric (Bosnia and Herzegovina).
Jonathan Walters (Republic of Ireland) wins a free kick in the defensive half.
Vedad Ibisevic (Bosnia and Herzegovina) hits the bar with a right footed shot from the centre of the box. Assisted by Milan Djuric following a set piece situation.
Miralem Pjanic (Bosnia and Herzegovina) wins a free kick in the attacking half.
Foul by James McCarthy (Republic of Ireland).
Substitution, Republic of Ireland. John O'Shea replaces Glenn Whelan.
Attempt missed. Jonathan Walters (Republic of Ireland) right footed shot from more than 35 yards is too high. Assisted by Ciaran Clark with a headed pass.
Vedad Ibisevic (Bosnia and Herzegovina) wins a free kick on the right wing.
Foul by James McClean (Republic of Ireland).
Ognjen Vranjes (Bosnia and Herzegovina) wins a free kick in the attacking half.
Foul by James McClean (Republic of Ireland).
Attempt blocked. Edin Dzeko (Bosnia and Herzegovina) right footed shot from very close range is blocked.
Corner, Bosnia and Herzegovina. Conceded by Jonathan Walters.
Corner, Bosnia and Herzegovina. Conceded by Ciaran Clark.
Shane Long (Republic of Ireland) is shown the yellow card.
Ervin Zukanovic (Bosnia and Herzegovina) wins a free kick in the defensive half.