Nicklas Bendtner slides home Arsenal's late winner
Nicklas Bendtner's late strike eased Arsenal's troubles and sent them into the Champions League knockout phase.
Bendtner struck three minutes from time from new captain Cesc Fabregas's pass.
Olexandr Aliyev was sent off seconds later as Dynamo Kiev protested that Fabregas had reacted to a drop ball before they were ready.
Ismael Bangoura hit the post for Dynamo in the first half and Manuel Almunia saved from Artem Milevskiy, but Arsenal were also wasteful in front of goal.
William Gallas returned to the Arsenal side after being stripped of the captaincy for publicly criticising his team-mates, and he was always in the action in a game which was closely fought throughout.
Arsenal missed the pace of Theo Walcott and the power of Emmanuel Adebayor but battled manfully, and Bendtner's goal was a deserved reward and will act as a real morale-booster for Arsene Wenger's side.
Gallas was warmly received by Arsenal fans after his recent trauma - and he had an eventful return to first-team action.
Arsenal threatened the early breakthrough, with Robin van Persie seeing an in-swinging free-kick pushed away by Dynamo keeper Stanislav Bogush.
Aaron Ramsey then fired off target after Carlos Vela's cross evaded defenders and goalkeeper to reach the Wales youngster at the far post.
Gallas then almost compounded his recent problems by gifting Dynamo a goal after 37 minutes when his weak attempted back pass was pounced on by Bangoura, but the striker was selfish and shot against the outside of the post with team-mates waiting for the pass.
Mikael Silvestre then turned Van Persie's goal-bound free-kick over the top before Gallas was involved in another potentially pivotal moment on the stroke of half-time.
He turned the ball in from close range after Dynamo failed to clear Fabregas' corner, but the strike was ruled out for offside.
Gallas was again at the centre of the action three minutes after the break when he unwittingly blocked Van Persie's shot on the goal-line as Arsenal looked poised to make the breakthrough.
Arsenal boss Wenger made changes as he attempted to break down Dynamo's stubborn resistance, with Ramsey being replaced by Bendtner and 16-year-old Jack Wilshere coming on for Vela.
But it was Dynamo who almost snatched the crucial first goal with 12 minutes left, Arsenal keeper Almunia plunging at the feet of Milevskiy as he shot from just eight yards.
Van Persie then responded with a driven cross that flashed across the six-yard area with no-one able to apply the finishing touch.
Just as the game looked to be drawing towards a goalless conclusion, Fabregas sent a long pass to Bendtner from a drop ball and he controlled well and scored.
Dynamo felt Fabregas had employed sharp practice at the re-start, and Aliyev let frustration get the better of him as he was sent off for clashing with referee Alain Hamer.
Arsenal: Almunia, Djourou, Gallas, Silvestre, Clichy, Denilson, Fabregas, Song Billong, Ramsey (Bendtner 68), Vela (Wilshere 77), Van Persie.
Subs Not Used: Fabianski, Gibbs, Hoyte, Merida, Simpson.
Booked: Van Persie, Bendtner.
Goals: Bendtner 87.
Dynamo Kiev: Bogush, Betao, Diakhate, Asatiani, El Kaddouri, Eremenko, Vukojevic, Ghioane, Aliev, Milevskiy, Bangoura.
Subs Not Used: Shovkovskiy, Dopilka, Sablic, Correa, Shatskikh, Cernat, Yarmolenko.
Sent Off: Aliev (89).
Booked: Milevskiy, Asatiani, Aliev.
Ref: Alain Hamer (Luxembourg).
BBC Sport Player Rater man of the match on 90 minutes: Arsenal's Cesc Fabregas - 7.83 (on 90 minutes).
Please note that you can still give the players marks out of 10 on BBC Sport's Player Rater after the match has finished.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.