Our starting point is the observation that if graphs in a class C have low descriptive complexity, then the isomorphism problem for C is solvable by a fast parallel algorithm. More precisely, we prove that if every graph in C is definable in a finite-variable first order logic with counting quantifiers within logarithmic quantifier depth, then Graph Isomorphism for C is in TC 1 ⊆ NC 2 . If no counting quantifiers are needed, then Graph Isomorphism for C is even in AC 1 . The definability conditions can be checked by designing a winning strategy for suitable Ehrenfeucht-Fraïssé games with a logarithmic number of rounds. The parallel isomorphism algorithm this approach yields is a simple combinatorial algorithm known as the Weisfeiler-Lehman (WL) algorithm.Using this approach, we prove that isomorphism of graphs of bounded treewidth is testable in TC 1 , answering an open question from [13]. Furthermore, we obtain an AC 1 algorithm for testing isomorphism of rotation systems (combinatorial specifications of graph embeddings). The AC 1 upper bound was known before, but the fact that this bound can be achieved by the simple WL algorithm is new. Combined with other known results, it also yields a new AC 1 isomorphism algorithm for planar graphs.