Abstract. The metro-line crossing minimization (MLCM) problem was recently introduced in [5] as a response to the problem of drawing metro maps or public transportation networks, in general. According to this problem, we are given a planar, embedded graph G = (V, E) and a set L of simple paths on G, called lines. The main task is to place the lines on the embedding of G, so that the number of crossings among pairs of lines is minimized. Our main contribution is two polynomial time algorithms. The first solves the general case of the MLCM problem, where the lines that traverse a particular vertex of G are allowed to use any side of it to either "enter" or "exit", assuming that the endpoints of the lines are located at vertices of degree one. The second one -which is more efficient in terms of time complexity-solves the restricted case, where only the left and the right side of each vertex can be used. To the best of our knowledge, this is the first time where the general case of the MLCM problem is solved. Previous work in the graph drawing literature was devoted to the restricted case of the MLCM problem under the additional assumption that the endpoints of the lines are either the topmost or the bottommost in their corresponding vertices, i.e., they are either on top or below the lines that pass through the vertex. Even for this case, we improve a known result of Asquith et al. [3] from O(|E| 5/2 |L| 3 ) to O(|V |(|E| + |L|)).