Controlled islanding is an active and effective way of avoiding catastrophic wide area blackouts. It is usually considered as a constrained combinatorial optimization problem. However, the combinatorial explosion of the solution space that occurs for large power systems increases the complexity of solving it. This paper proposes a two-step controlled islanding algorithm that uses spectral clustering to find a suitable islanding solution for preventing the initiation of wide area blackouts by un-damped electromechanical oscillations. The objective function used in this controlled islanding algorithm is the minimal power-flow disruption. The sole constraint applied to this solution is related to generator coherency. In the first step of the algorithm, the generator nodes are grouped using normalized spectral clustering, based on their dynamic models, to produce groups of coherent generators. In the second step of the algorithm, the islanding solution that provides the minimum power-flow disruption while satisfying the constraint of coherent generator groups is determined by grouping all nodes using constrained spectral clustering. Simulation results, obtained using the IEEE 9-, 39-, and 118-bus test systems, show that the proposed algorithm is computationally efficient when solving the controlled islanding problem, particularly in the case of a large power system.