In a coalescing random walk, a set of particles make independent discrete-time random walks on a graph. Whenever one or more particles meet at a vertex, they unite to form a single particle, which then continues the random walk through the graph. Coalescing random walks can be used to achieve consensus in distributed networks, and is the basis of the self-stabilizing mutual exclusion algorithm of Israeli and Jalfon . Let G=(V,E), be an undirected, connected n vertex graph. Let C(n) be the expected time for all particles to coalesce, when initially one particle is located at each vertex. We study the problem of bounding the coalescence time C(n) for general classes of graphs. Our general result is, that C(n)= O(n/(v(1 - λ 2))), where v = Σ u∈Vd 2(u)/(d 2 n), d(u) is the degree of vertex u, d is the average vertex degree, and λ 2 is the second eigenvalue of the transition matrix of the random walk. The parameter v is an indicator of the variability of vertex degrees: 1 ≤ v = O(n), with v = 1 for regular graphs. Our general bound on C(n) holds provided the maximum vertex degree is O( m1-ε), where m is the number of edges in the graph. This result implies, for example, that C(n)=O(n/(1-λ 2)) for d-regular graphs with expansion parameterized by the eigenvalue gap 1-λ 2. The O(n/(v(1-λ 2))) bound is sublinear for some classes of graphs with skewed degree distributions. A system of coalescing particles where initially one particle is located at each vertex, corresponds to the following voter model. Initially each vertex has a distinct opinion, and at each step each vertex changes its opinion to that of a random neighbour. The voting process can be used for leader election in a distributed context. Let E(C v) be the expected time for voting to complete, that is, for a unique opinion to emerge. It is known that E(C v)=C(n ), so our results imply that E(C v) = O(n/(v(1-λ 2))). We also investigate how the voting time improves when a vertex elicits more than one opinion at each step. In a model which we call min-voting, each vertex initially holds a distinct opinion drawn from a linearly ordered domain. At each step each vertex takes the opinions of two random neighbours and keeps the smaller. We show that for regular graphs with very good expansion properties, voting is completed in O(log n) time with high probability. This result can be viewed as an example of the "power of two choices" in distributed voting.