Mykola Shaparenko's sublime strike had put the home side in front just before half-time, but Martial forced home an equaliser five minutes after the restart.
Substitute Moussa Diaby hit the post as Les Bleus toiled in vain to find a winner, with Didier Deschamps' men having now drawn five matches in a row in all competitions.
France was winless in four games in Kiev heading into this contest and there was little that was confident about its early play, Antoine Griezmann flashing a shot wide with one of his few openings.
Ukraine looked more dangerous on the break and Andriy Yarmolenko spurned a good chance when his header was saved by Hugo Lloris.
The breakthrough came just before half-time. Martial was denied by Andriy Pyatov after being played in by Paul Pogba, and the home side broke forward, Roman Yaremchuk's cross was cleared by Kurt Zouma to Shaparenko on the edge of the box, and he swept a stylish first-time strike high past Lloris.
Martial's miss took him to 28 consecutive shots without scoring for France, but he had more luck with his next attempt. Adrien Rabiot's header dropped kindly for the Manchester United forward, whose half-volley from six yards was too powerful for Pyatov to keep out.
Diaby skipped into space after good work from Benzema but his low strike clattered off the base of the right-hand post, before Pogba tried his luck with a long-range strike that Pyatov held, as the visitors toiled to no further avail.
France hosts Finland in its next qualifying match on Wednesday (AEST), with Ukraine heading to Czech Republic for a friendly a day later.