After Oleksandr Zubkov highlighted a solid Ukrainian beginning with a 10th-minute target it seemed as though the hosts could cruise to a big win, but they spent much of the next half on the back foot as Northern Ireland gave Andriy Shevchenko a lot to consider entering Euro 2020.
The ex-Chelsea man will probably be relieved to come away with the win, his side's first in eight following a dominant streak through qualifying, but Northern Ireland should not depart Dnipro too downhearted.
Baraclough fielded another powerful side given the options in his group, but among the goal-scorers out of Sunday's 3-0 win over Malta were missing as Jordan Jones wasn't involved while Gavin Whyte was among the substitutes.
Ukraine, boosted by a change in regulations which saw 15,000 fans permitted into the Dnipro Arena, were excited to put on a series 10 days from their opening Euro 2020 fixture against Holland.
The Burnley goalkeeper made a great save to deny Roman Yaremchuk after a very long ball obtained over Daniel Ballard and Zubkov played in, but Northern Ireland failed to take care of the resulting corner and dropped behind.
Oleksandr Karavaev was allowed space to send in a deep cross and no one was picking up Zubkov as he glided in to head home.
The chances continued to emerge, together with Yaremchuk and Yarmolenko flashing shots just wide, although the West Ham guy was then denied by a slumping Shane Ferguson, that got across to block since Yarmolenko looked to flip in Vitaliy Mykolenko's cross.
Northern Ireland carried a muted threat in response, able to get beyond the halfway line but not provide the sort of pass to stress the Allied defence.
Unsurprisingly their sole chance before the break came from a set-piece since Paddy McNair whipped in free-kick and Ciaron Brown tested Heorhiy Bushchan, who steered his header past the far post.
There were brighter indications early in the second half, with Josh Magennis denied by a nice block from Mykola Matviyenko, before Ali McCann threatened another goal in as many games when he flashed a header wide.
Northern Ireland were getting on top as Ukraine seemed to become disrupted from the inevitable rush of substitutions during the second half, pegging the hosts back as the fans hand began to get restless.
McCann then sparked an excellent move, sliding the ball to Kyle Lafferty who subsequently fed Paul Smyth, however, the 23-year-old -- out of contract in QPR this summer -- could not get enough power on his shot.
But Peacock-Farrell subsequently gave himself Northern Ireland a scare when he failed to properly clear when out his region. He scrambled back in the time to keep out Yarmolenko's shot before Heorhiy Sudakov sent the rebound to the side-netting.
Peacock-Farrell, who had a difficult time in his four Premier League appearances for Burnley this year, was spared again with 10 minutes to go when he came for but missed a corner, grateful to find the ball scrambled clear following Artem Besedin failed to capitalise.
However, the goalkeeper then redeemed himself, making an excellent save when Besedin attempted to poke home after Yarmolenko's shot was deflected.
Ukraine thought that they had a scrappy moment at the death however Besedin was ruled offside, allowing Northern Ireland one final opportunity as McNair bent a stoppage-time free-kick broad.