Abstract. We consider the problem of computing a minimum cycle basis in a directed graph G with m arcs and n vertices. The arcs of G have non-negative weights assigned to them. We give an ˜O(m4 n) algorithm, which is the first polynomial time algorithm for this problem. We also present an ˜O(m3 n) randomized algorithm. The problem of computing a minimum cycle basis in an undirected graph has been well-studied. However, it is not known if an efficient algorithm for undirected graphs automatically translates to an efficient algorithm for directed graphs.