In addition to the QR algorithm, the divide and conquer method is also worth mentioning. It is applicable to symmetric tridiagonal matrices, but any matrix can be reduced to such a form via the Lanczos method*. It hinges on the observation that a tridiagonal matrix is, up to a rank 1 perturbation, a block diagonal matrix. One can then find the eigendecomposition of the sub-blocks (in parallel!) and glue them back together using a clever trick. Of course, finding the eigenvalues of the blocks must be done with the QR method as Federico alludes to.
However, you've asked for a direct method -- both QR and divide and conquer are iterative methods. Well, there is no direct method akin to the LU decomposition to find the eigendecomposition of a matrix of dimension greater than 5, there are only iterative methods. If such a direct method existed, one could find the zeros of an arbitrarily high-degree polynomial as an algebraic function of the coefficients, which Galois told us is impossible. The Golub-Kahan SVD algorithm is also iterative.