Let $\varphi,\psi$ be endomorphisms on a finite-dimensional vector space over a field $K$ such that $\varphi\circ\psi=\psi\circ\varphi$. Assume $V$ has a basis of eigenvectors of $\psi$ and a basis of eigenvectors of $\varphi$. Prove that $V$ has a basis consisting of vectors that are eigenvectors of both $\varphi$ and $\psi$.
My work so far:
Let $\lambda_1,\ldots,\lambda_n$ be the distinct eigenvalues of $\varphi$. For each $\lambda_i$, let $c_{i,1},\ldots,c_{i,m_i}$ be the eigenvectors of $\varphi$ corresponding to $\lambda_i$. By assumption, $\varphi$ is diagonalizable, so we can write $$ V\cong V_1\oplus\cdots\oplus V_n $$ where each $V_i=\text{eig}(\varphi,\lambda_i)$. Using the fact that $\varphi$ and $\psi$ commute, it is easy to show that for all $v_i\in V_i$, $\psi(v_i)$ is an eigenvector of $\varphi$ corresponding to $\lambda_i$, so $\psi(v_i)\in V_i$. Apparently, I need this fact in order to show that since $\psi$ is also diagonalizable by assumption, we can find a basis $\{d_{i,1},\ldots,d_{i,m_i}\}$ for each $V_i$ consisting of eigenvectors of $\psi$. From here it follows that each $d_{i,j}$ is an eigenvector of $\varphi$, since $\varphi(d_{i,j})=\lambda_id_{i,j}$ ($\varphi$ acts as multiplication by $\lambda_i$ on $V_i$).
My question: I know that $\psi$ being diagonalizable implies I can decompose $V$ into eigenspaces corresponding to $\psi$, but how do I know I can find a basis of eigenvectors of $\psi$ for each $V_i$? Like I said before, I believe this comes from the fact that $\psi(V_i)\subset V_i$, but I am not sure. Any ideas?