There are many counterexamples. Before I give one I want to give some context. Recall that for any normal matrix $A$ there exists a basis of eigenvectors. Let $\sigma(A)=\{\lambda_1,\ldots,\lambda_n\}$ be the eigenvalues with eigenspaces $\{V_{\lambda_1}, \ldots, V_{\lambda_n}\}$. Let $P_k$ be the orthogonal projection onto $V_{\lambda_k}$. Rewriting the spectral theorem for finite dimensional spaces a bit shows that
$$ A = \sum_{k=1}^n \lambda_k P_k. $$
Note that sums can be written as integrals over atomic measures and we can loosely write this as
$$ A = \int_{\sigma(A)} \lambda dP(\lambda). $$
More precisely, we do not integrate w.r.t. a measure in the usual sense. But integrate w.r.t a "projection-valued measure". I won't go to deep however.
Why did I write the spectral theorem for finite dimensional operators in such a convoluted way? Well there is a general spectral theorem that says that for any normal bounded operator $A$ on a Hilbert space $\mathcal{H}$ there exists a so called spectral measure $P$ such that we can write
$$ A = \int_{\sigma(A)} \lambda(A) dP(\lambda). $$
However, while previously, the set $\sigma(A)$ consisted of the eigenvalues of $A$ (i.e. the values $\lambda \in \mathbb{C}$ such that $A - \lambda 1$ is not injective), we now need to take the following definition:
$$ \sigma(A) = \{ \lambda \in \mathbb{C} \mid A-\lambda 1 \text{ is not invertible}. \} $$
In the finite dimensional case (and even when $A$ is compact) this boils down to $\sigma(A)$ being the eigenvalues of $A$. However in general, $A-\lambda 1$ might not be invertible while there exists no non-zero vector $v \in \mathcal{H}$ such that $A v =\lambda v$. While the generalized spectrum $\sigma(A)$ may be defined for any bounded operator (and having some really nice properties popping-up from complex analysis), it can be split up (for normal operators) into a discrete part (the real eigenvalues) and a continuous part. The continuous part makes general normal operators so different than the finite dimensional ones. This also makes the domain of the integral above over a non-discrete set.
Now to give a counterexample, take the operator
$$A: L^2([0,1]) \rightarrow L^2([0,1]), A(f)(x) = x f(x) \quad \text{(multiplication by }x). $$
$A$ has no eigenvalues (for every $z \in \mathbb{C}$, there is no non-zero function $f$ with $A(f) = z f$, this would mean that $x = z$ for all $x$ where $f(x)$ is non-zero, so $f$ is zero a.e.).
In particular, there is no basis of eigenvectors.
However the spectrum $\sigma(A)$ can be shown to be equal to $[0,1]$ (the image of the function $x$ on $[0,1])$.
Edit: To show that $\sigma(A) = [0,1]$ for the example above, assume that $\lambda \notin \sigma(A) $. This means that there exists some $T \in \mathcal{B}(L^2([0,1])$ such that
$$T \circ (A-\lambda \text{Id}) = (A-\lambda \text{Id}) \circ T = \text{Id}. $$
Put $g = T(1) \in L^2([0,1])$. It follows that$(x-\lambda 1) g(x) = 1$ for all $x \in [0,1]$ a.e. or written differently that
$$ g(x) = \frac{1}{x-\lambda} \quad \forall x \in [0,1] \text{ a.e.} $$
However $g$ is not square integrable if $\lambda \in [0,1]$. This shows that $[0,1] \subset \sigma(A)$. For other inclusion, it is easy to see that whenever $\lambda \notin [0,1]$, then multiplication by the function $g(x) = \frac{1}{x-\lambda}$ is an inverse to $A-\lambda 1$. Because $g$ is uniformly bounded, the multiplication operator by $g$ is a bounded operator.
As a side note, $A$ from above is not a compact operator, as you can tell from the fact that is has a continuous spectrum (compact operators are diagonisable in the classical sense (having a countable orthonormal basis of eigenvectors), hence they have a discrete spectrum).
$u(e_n)=\lambda_ne_n$. So, if $u$ is invertible, then $\lambda_n \neq 0$, $u^{-1}(e_n)=\frac 1 {\lambda_n}e_n$ and $\frac 1 {|\lambda_n|} \leq \|u^{-1}\|$ proving that $\inf_n |\lambda_n| >0$.
Conversely, if $\inf_n |\lambda_n| >0$ then $v(\sum \alpha_n e_n)=\sum \frac1 {\lambda_n} \alpha_n e_n$ defines a bounded operator and $u\circ v=v\circ u=I$.
Best Answer
Yes, that's how it works. You need to check that a diagonalizable operator $T=\sum_j\lambda_jP_j$ is normal, which is easy to do.
And, as you say, normal operators are limits of diagonalizable operators.
The two aforementioned facts, together, tell you that the normal operators are precisely the closure of the set of diagonalizable operators.