The classical Waring problem deals with expressing every natural number as a sum of g(k) k-th powers. Recently there has been considerable interest in similar questions for non-abelian groups, and simple groups in particular. Here the k-th power word can be replaced by an arbitrary group word w = 1, and the goal is to express group elements as short products of values of w.We give a best possible and somewhat surprising solution for this Waring type problem for (non-abelian) finite simple groups of sufficiently high order, showing that a product of length two suffices to express all elements.Along the way we also obtain new results, possibly of independent interest, on character values in classical groups over finite fields, on regular semisimple elements lying in the image of word maps, and on products of conjugacy classes.Our methods involve algebraic geometry and representation theory, especially Lusztig's theory of representations of groups of Lie type.