Your way is basically along the lines of how I would do it:
Let $A$ be an $n \times n$ matrix, and assume for the sake of contradiction that $A$ is invertible. By your work, since $0$ is an eigenvalue of $A$, then we know there exists a nonzero vector $\mathbf{v}$ such that $A\mathbf{v} = 0$.
$\Rightarrow dim(N(A)) > 0$, where $N(A)$ represents the null space of $A$.
Remember that, by the rank-nullity theorem, $dim(N(A)) + Rank(A) = n$.
Since $dim(N(A)) > 0$, then $Rank(A) < n$. Herein lies the contradiction. An $n \times n$ matrix is invertible $\iff$ it's rank is $n$.