We show that good community structures can be obtained by partitioning a social network in a succession of divisive sparsest cuts. A network flow algorithm based on fundamental principles of graph theory is introduced to identify the sparsest cuts and an underlying hierarchical community structure of the network via maximum concurrent flow. Matula [Matula, David W., 1985. Concurrent flow and concurrent connectivity in graphs. In: Alavi, Y., et al. (Eds.), Graph Theory and its Applications to Algorithms and Computer Science. Wiley, New York, NY, pp. 543–559.] established the maximum concurrent flow problem (MCFP), and papers on divisive vs. agglomerative average-linkage hierarchical clustering [e.g., Matula, David W., 1983. Cluster validity by concurrent chaining. In: Felsenstein, J. (Ed.), Numerical Taxonomy: Proc. of the NATO Adv. Study Inst., vol. 1. Springer-Verlag, New York, pp. 156–166 (Proceedings of NATO ASI Series G); Matula, David W., 1986. Divisive vs. agglomerative average linkage hierarchical clustering. In: Gaul, W., and Schader, M. (Eds.), Classification as a Tool of Research. Elsevier, North-Holland, Amsterdam, pp. 289–301; Thompson, Byron J., 1985. A flow rerouting algorithm for the maximum concurrent flow problem with variable capacities and demands, and its application to cluster analysis. Master Thesis. School of Engineering and Applied Science, Southern Methodist University] provide the basis for partitioning a social network by way of sparsest cuts and/or maximum concurrent flow. The MCFP extends the [Ford Jr., Lester R., Fulkerson, Delbert R., 1956. Maximal flow through a network. Canadian Journal of Mathematics 8, 399–404; Ford Jr., Lester R., Fulkerson, Delbert R., 1962. Flows in Networks. Princeton University Press, Princeton, NJ] source–sink max-flow problem to all-pairs maximum concurrent flow. The density of an ( S, T)-cut is |( S, T)\\/(| S|•| T|) where |( S, T)| is the number of edges (equivalently, links or bonds) between communities S and T with | S|•| T| being the maximum number of edges possible. The minimum density cut in the network is the sparsest cut. When the edges are weighted, the density is the average weight of the ( S, T)-cut edges, with absent edges treated as edges of zero weight. Sparsest cuts (i.e., minimum density) of the remaining components are iteratively determined via linear programming until a multipartite cut is identified that is more constraining to concurrent flow than any sparsest cut. Empirical results on real-world networks with known hierarchical structures and random networks with embedded communities are used to compare this sparsest-cut community structure criterion to the weighted Girvan–Newman community structure criterion [e.g., Newman, M.E.J., 2004. Analysis of weighted networks. Physical Review E 70, 056131] that is based on edge betweenness centrality. A new measure of accuracy M is defined to evaluate the results of the graph partitionings found by these criteria.