In the Edge-Disjoint Paths with Congestion problem (EDPwC), we are given an undirected nvertex graph G, a collection M = {(s 1 , t 1 ), . . . , (s k , t k )} of demand pairs and an integer c. The goal is to connect the maximum possible number of the demand pairs by paths, so that the maximum edge congestion -the number of paths sharing any edge -is bounded by c. When the maximum allowed congestion is c = 1, this is the classical Edge-Disjoint Paths problem (EDP).The best current approximation algorithm for EDP achieves an O( √ n)-approximation, by rounding the standard multi-commodity flow relaxation of the problem. This matches the Ω( √ n) lower bound on the integrality gap of this relaxation. We show an O(poly log k)-approximation algorithm for EDPwC with congestion c = 2, by rounding the same multi-commodity flow relaxation. This gives the best possible congestion for a sub-polynomial approximation of EDPwC via this relaxation.Our results are also close to optimal in terms of the number of pairs routed, since EDPwC is known to be hard to approximate to within a factor ofΩ (log n) 1/(c+1) for any constant congestion c. Prior to our work, the best approximation factor for EDPwC with congestion 2 wasÕ(n 3/7 ), and the best algorithm achieving a polylogarithmic approximation required congestion 14.One of the central and most extensively studied graph routing problems is the Edge-Disjoint Paths problem (EDP). In this problem, we are given an undirected n-vertex graph G = (V, E), and a collection M = {(s 1 , t 1 ), . . . , (s k , t k )} of k source-sink pairs, that we also call demand pairs. The goal is to find a collection P of edge-disjoint paths, connecting the maximum possible number of the demand pairs.Robertson and Seymour [RS90] have shown that EDP can be solved efficiently, when the number k of the demand pairs is bounded by a constant. However, for general values of k, it is NP-hard to even decide whether all pairs can be simultaneously routed via edge-disjoint paths [Kar72]. A standard approach to designing approximation algorithms for EDP and other routing problems, is to first compute a multi-commodity flow relaxation, where instead of connecting the demand pairs with paths, we are only required to send the maximum amount of multi-commodity flow between the demand pairs, with at most one flow unit sent between every pair. Such a fractional solution can be computed efficiently by using the standard multi-commodity flow LP-relaxation, and it can then be rounded to obtain an integral solution. Indeed, the best current approximation algorithm for the EDP problem, due to Chekuri, Khanna and Shepherd [CKS06b], achieves an O( √ n)-approximation using this approach. Unfortunately, a simple example by Garg, Vazirani and Yannakakis [GVY93] (see also Section D in the Appendix), shows that the integrality gap of the multi-commodity flow relaxation can be as large as Ω( √ n), thus implying that the algorithm of [CKS06b] is essentially the best possible for EDP, when using this approach. This integrality gap appears t...