First we show:
If $T$ is triangular and the eigenvectors of $T$ are the eigenvectors of $T^*$, then $T$ is diagonal.
Proof by induction: The statement is trivially satisfied for $n=1$. Assume it's true for $(n-1)\times(n-1)$ matrices and let the (upper) triangular $T$ have the form
$$
T=\begin{bmatrix}\tau&t^*\\0&\tilde{T}\end{bmatrix}.
$$
The matrix $T$ has an eigenvalue $\tau$ with the eigenvector $e_1=[1,0,\ldots,0]^T$, that is, $Te_1=\tau e_1$. We have
$$
T^*e_1=\begin{bmatrix}\bar{\tau}&0\\t&\tilde{T}^*\end{bmatrix}\begin{bmatrix}1\\0\end{bmatrix}=\begin{bmatrix}\bar{\tau}\\t\end{bmatrix}.
$$
By the assumption, $e_1$ is the eigenvector $T^*$. This is possible only if $t=0$, that is, $T$ has the form
$$
T=\begin{bmatrix}\tau&0\\0&\tilde{T}\end{bmatrix}.
$$
By the induction assumption, the matrix $\tilde{T}$ is diagonal since it has the same eigenvectors as $\tilde{T}^*$.
Second, consider the Schur decomposition of $T$, $T=QRQ^*$, where $Q$ is unitary and $R$ upper triangular. Note that $Tx=\lambda x$ is equivalent to $(Q^*TQ)(Q^*x)=\lambda(Q^*x)$, that is, $R(Q^*x)=\lambda(Q^*x)$ and $T^*x=\mu x$ is equivalent to $(Q^*T^*Q)(Q^*x)=\mu(Q^*x)$, that is, $R^*(Q^*x)=\mu(Q^*x)$. Hence $x$ is a common eigenvector of $T$ and $T^*$ if and only if $Q^*x$ is a common eigenvector of the triangular factor $R$ of the Schur decomposition of $T^*$. Using the statement we proved, we see that $T$ and $T^*$ have common eigenvectors if and only if $R$ is diagonal and hence $T=QRQ^*$ (with diagonal $R$) is normal.