10 pagesGiven an undirected graph, are there k matchings whose union covers all of its nodes, that is, a matching-k-cover? A first, easy polynomial solution from matroid union is possible, as already observed by Wang, Song and Yuan (Mathematical Programming, 2014). However, it was not satisfactory neither from the algorithmic viewpoint nor for proving graphic theorems, since the corresponding matroid ignores the edges of the graph. We prove here, simply and algorithmically: all nodes of a graph can be covered with k≥2 matchings if and only if for every stable set S we have ∣S∣≤k⋅∣N(S)∣. When k=1, an exception occurs: this condition is not enough to guarantee the existence of a matching-1-cover, that is, the existence of a perfect matching, in this case Tutte's famous matching theorem (J. London Math. Soc., 1947) provides the right `good' characterization. The condition above then guarantees only that a perfect 2-matching exists, as known from another theorem of Tutte (Proc. Amer. Math. Soc., 1953). Some results are then deduced as consequences with surprisingly simple proofs, using only the level of difficulty of bipartite matchings. We give some generalizations, as well as a solution for minimization if the edge-weights are non-negative, while the edge-cardinality maximization of matching-2-covers turns out to be already NP-hard. We have arrived at this problem as the line graph special case of a model arising for manufacturing integrated circuits with the technology called `Directed Self Assembly'