Aiden McGeady's introduction helped the Republic of Ireland deservedly account for Bosnia-Hercegovina in Saturday's warm-up friendly ahead of Euro 2012.
James McClean, making his first Irish start, tested keeper Asmir Begovic in the opening half while Glenn Whelan appeared to be denied a clear penalty.
Both McGeady and Jon Walters hit the woodwork as the Republic took control.
McGeady's superb cross set up Shane Long's 77th-minute goal and Walters and Long missed further late chances.
The big talking point about Giovanni Trapattoni's selection had been his decision to give McClean a first Republic start but after a bright opening period, the Sunderland youngster was overshadowed by substitute McGeady's second-half contribution.
Trapattoni was forced to make a late change to his line-up with Sean St Ledger not risked because of a groin twinge and Darren O'Dea drafted into the centre of defence alongside Richard Dunne.
The Bosnians, whose Euro 2012 hopes were ended by Portugal in the play-offs, included Manchester City star Edin Dzeko and Stoke goalkeeper Asmir Begovic.
As is habitually the case for Trapattoni's Irish, it was the opposition who looked the more fluent outfit early on with Vedad Ibisevic getting in behind the defence in the fourth minute but failing to find a team-mate.
Dzeko got into another dangerous position five minutes later and Dunne needed to make a vital interception as the Manchester City star attempted to pick out Ibisevic in the Irish six-yard box.
But the Irish appeared to be denied a stonewall penalty four minutes later as Glenn Whelan was upended by his Stoke team-mate Begovic.
McClean's every touch was receiving loud cheers and he beat two tackles after cutting infield to set up a chance on 25 minutes but his fellow Derryman Darron Gibson pulled his shot badly wide from the edge of the box.
Both teams went close in the five minutes before half-time as the pace picked up.
Miralem Pjanic tested Keiren Westwood from distance in the 40th minute and Dzeko wasted a chance a minute later as he attempted to control a Senad Lulic cross instead of heading directly at goal.
McClean continued his promising opening as he tested Begovic at the near post on 42 minutes after a perfect touch to control Doyle's deep cross.
Damien Duff went even closer a minute before the break as his close-range shot was blocked by Begovic after a delightful Keane touch.
Trapattoni withdrew Duff and Whelan at the interval with McGeady and Keith Andrews introduced.
McGeady's first touch almost yielded a goal two minutes after the resumption as his volley struck a post after Kevin Doyle had nodded a McClean free-kick back across goal.
But the Bosnians were still threatening and Westwood did well to push Pjanic's dipping free-kick over the bar.
Sub Walters missed a excellent chance on 73 minutes as his pointblank header from six yard out rattled the crossbar after McGeady's floated cross.
However, Long showed the Stoke man the way to finish four minutes later as he nodded home after another superb cross from McGeady, whose efforts after his introduction suggested that he has no intention of meekly surrendering his regular starting role to McClean.
Walters should have made to 2-0 a minute later after more brilliant work by McGeady but Begovic blocked his club-mate's chance.
Sub Mehmed Alispahic missed a superb opportunity to level on 88 minutes after a Stephen Ward mistake but the Republic ended the game on the attack as Begovic made a magnificent save to deny the lively Long.
The Republic players next travel to their pre-Euro 2012 training camp in Italy before facing Hungary in another friendly on 4 June.
Trapattoni's men start their Group C campaign against Croatia in Poznan on Sunday, 10 June before taking on Spain and Italy.
Rep of Ireland: Westwood, McShane [Kelly 78], Dunne [St Ledger 70], O'Dea, Ward, Duff [McGeady half-time], Whelan [Andrews half-time], Gibson, McClean, Keane [Long 62], Doyle [Walters 62].
Subs not used: Forde, Hunt, Long, Cox, Fahey.
Bosnia-Herzegovina: Begovic, Medunjanin [Stevanovic 46], Pandza, Jahic, Mujdza [Zahirovic 56], Pjanic, Misimovic [Alispahic 81], Rahimic [Vrancic 46], Lulic, Dzeko, Ibisevic [Vranjes 70].
Subs not used: Ibricic, Sehic, Svraka.
Referee: C Zimmermann [Switzerland]