We present an efficient algorithm which computes, for a kinematic point mass moving in the plane, a time-optimal path that visits a sequence of target sets while conservatively avoiding collision with moving obstacles, also modelled as kinematic point masses, but whose trajectories are unknown. The problem is formulated as a pursuit-evasion differential game, and the underlying construction is based on optimal control. The algorithm, which is a variant of the fast marching method for shortest path problems, can handle general dynamical constraints on the players and arbitrary domain geometry (e.g. obstacles, non-polygonal boundaries). Applications to a two-stage game, capture-the-flag, is presented.