Let P be a property of undirected graphs. We consider the following problem: given a graph G that has property P, nd a minimal spanning subgraph of G with property P. We describe general algorithms for this problem and prove their correctness under fairly weak assumptions about P. We establish that the worst-case running time of these algorithms is m+nlog n for 2-edge-connectivity and biconnectivity where n and m denote the number of vertices and edges, respectively, in the input graph. By re ning the basic algorithms we obtain the rst linear time algorithms for computing a minimal 2-edge-connected spanning subgraph and for computing a minimal biconnected spanning subgraph. We also devise general algorithms for computing a minimal spanning subgraph in directed graphs. These algorithms allow us to simplify an earlier algorithm of Gibbons, Karp, Ramachandran, Soroker and Tarjan for computing a minimal strongly connected spanning subgraph. We also provide the rst tight analysis of the la...