The following gives the complete commensurability and quasi-isometry classification of free products of finitely generated abelian groups. The quasi-isometry classification is a special case of Papasoglu and Whyte [4]. Theorem 1. Let G i be a free product of a finite set S i of finitely generated abelian groups for i = 1, 2. Then the following are equivalent(1) The sets of ranks ≥ 2 of groups in S 1 and S 2 are equal (the rank of a finitely generated group is the rank of its free abelian part); (2) G 1 and G 2 are commensurable. (3) G 1 and G 2 are quasi-isometric.Proof. The main step is to show (1) implies (2). By going to finite index subgroups of G 1 and G 2 we can assume the groups in S 1 and S 2 are free abelian (take the kernel of the map of G i to a product of finite quotients of the groups in S i by torsion free normal subgroups, or see the lemma below for a more general statement). Let n 1 = 1 and let n 2 , . . . , n k be the ranks ≥ 2 of the groups in S 1 and in S 2 . Let r i and s i be the number of rank n i groups in S 1 and S 2 respectively. We identify G 1 with the fundamental group of the topological space W 1 consisting of the wedge of r i n i -dimensional tori for each i; similarly we let G 2 = π 1 (W 2 ), where W 2 is defined similarly using the s i 's. A finite cover of such a wedge of tori is homotopy equivalent to a wedge of tori.We proceed in two steps. First, using finite covers we replace (r 1 , r 2 , . . . , r k ) and (s 1 , s 2 , . . . , s k ) by the sequences (R 1 , Y, Y, . . . , Y ) and (S 1 , Y, Y, . . . , Y ), respectively, where R 1 , S 1 , and Y are positive integers. Then we show that, again taking finite covers, we can leave the Y 's unchanged and replace both R 1 and S 1 by a positive integer X, making the two sequences equal and completing the argument.For the first step, let Y be a common multiple of r 2 , . . . , r n , s 2 , . . . s n . We construct W 1 and W 2 in the following way. W 1 is a finite cover of W 1 which for each 2 ≤ i ≤ k satisfies the following: it has Y tori of dimension n i ; each n i -dimensional torus in W 1 has Y /r i n i -dimensional tori in W 1 which project to it; and each torus of W 1 covers its image in W 1 with degree r i . Hence W 1 is a covering of W 1 with degree Y . Similarly construct W 2 from W 2 using the s i . Note that W 1 and W 2 are each homotopy equivalent to wedges of tori (by contracting an embedded tree connecting the lifts of the basepoint), but this construction doesn't control the number of 1-dimensional tori in these wedges of tori.For step 2 we notice that, given two spaces which are homotopy equivalent to wedges of tori of dimension up to n, if the number of n i -dimensional tori is the same in each for all 2 ≤ i ≤ k, then the number of 1-tori in the equivalent wedges