[proofplan]
We work over $\mathbb{C}$ where eigenvalues are guaranteed to exist. Given an eigenvalue $\lambda \in \mathbb{C}$ with eigenvector $v \in \mathbb{C}^n$, we compute the Hermitian inner product $\langle Av, v \rangle$ in two ways: once using $Av = \lambda v$ and once using the symmetry $A = A^\top$ (equivalently $A = \overline{A}^\top$ since $A$ is real). Comparing the two expressions forces $\lambda = \overline{\lambda}$, so $\lambda \in \mathbb{R}$.
[/proofplan]
[step:Set up the eigenvalue equation over $\mathbb{C}$]
Let $\lambda \in \mathbb{C}$ be an eigenvalue of $A$, and let $v \in \mathbb{C}^n$ be a corresponding eigenvector with $v \neq 0$. Such $\lambda$ exists by the [Characteristic Polynomial Splits over C](/theorems/3278) together with the [Eigenvalues as Roots of the Characteristic Polynomial](/theorems/918). We have
\begin{align*}
Av = \lambda v.
\end{align*}
[guided]
Since $A \in \mathbb{R}^{n \times n}$, we may also regard $A$ as an element of $\mathbb{C}^{n \times n}$, because every real matrix is in particular a complex matrix (with zero imaginary parts).
Why move to $\mathbb{C}$? Over $\mathbb{R}$, the characteristic polynomial $p_A$ might not have any real roots (consider a rotation matrix), so eigenvalues are not guaranteed to exist. Over $\mathbb{C}$, however, the [Characteristic Polynomial Splits over C](/theorems/3278) guarantees that $p_A$ factors completely into linear factors.
Since $p_A$ splits over $\mathbb{C}$, it has at least one root $\lambda \in \mathbb{C}$. By the [Eigenvalues as Roots of the Characteristic Polynomial](/theorems/918), roots of $p_A$ correspond to eigenvalues: there exists a nonzero vector $v \in \mathbb{C}^n$ satisfying $Av = \lambda v$.
Note that $v$ may have complex entries even though $A$ has only real entries — we are working in $\mathbb{C}^n$, not $\mathbb{R}^n$.
We write the eigenvalue equation as $Av = \lambda v$. The goal of the remaining steps is to show that despite $\lambda$ being a priori complex, the symmetry of $A$ forces $\lambda$ to be real.
[/guided]
[/step]
[step:Compute $\langle Av, v \rangle$ using the eigenvalue equation]
Define the standard Hermitian inner product on $\mathbb{C}^n$ by
\begin{align*}
\langle x, y \rangle := \sum_{j=1}^{n} x_j \overline{y_j}
\end{align*}
for $x, y \in \mathbb{C}^n$. Using $Av = \lambda v$:
\begin{align*}
\langle Av, v \rangle = \langle \lambda v, v \rangle = \lambda \langle v, v \rangle = \lambda \sum_{j=1}^{n} |v_j|^2.
\end{align*}
Since $v \neq 0$, at least one component $v_j \neq 0$, so $\langle v, v \rangle = \sum_{j=1}^{n} |v_j|^2 > 0$.
[/step]
[step:Compute $\langle Av, v \rangle$ using symmetry and show $\lambda \in \mathbb{R}$]
Since $A$ is real and symmetric, $A = A^\top$, and since $A$ has real entries, $\overline{A} = A$. Therefore $A = \overline{A}^\top$, i.e., $A$ is Hermitian. For any Hermitian matrix and vectors $x, y \in \mathbb{C}^n$:
\begin{align*}
\langle Ax, y \rangle = \sum_{i=1}^{n} (Ax)_i \overline{y_i} = \sum_{i=1}^{n} \sum_{j=1}^{n} a_{ij} x_j \overline{y_i} = \sum_{j=1}^{n} x_j \sum_{i=1}^{n} a_{ij} \overline{y_i} = \sum_{j=1}^{n} x_j \overline{\sum_{i=1}^{n} \overline{a_{ij}} y_i} = \sum_{j=1}^{n} x_j \overline{\sum_{i=1}^{n} a_{ji} y_i} = \langle x, Ay \rangle,
\end{align*}
where we used $\overline{a_{ij}} = a_{ij}$ (real entries) and $a_{ij} = a_{ji}$ (symmetry). Applying this with $x = y = v$:
\begin{align*}
\langle Av, v \rangle = \langle v, Av \rangle = \langle v, \lambda v \rangle = \overline{\lambda} \langle v, v \rangle.
\end{align*}
Combining with the previous step:
\begin{align*}
\lambda \langle v, v \rangle = \overline{\lambda} \langle v, v \rangle.
\end{align*}
Since $\langle v, v \rangle > 0$, we divide both sides to obtain $\lambda = \overline{\lambda}$, which means $\lambda \in \mathbb{R}$.
[guided]
The key property we use is that a real symmetric matrix is Hermitian: $A = \overline{A}^\top$. This holds because $A = A^\top$ (symmetric) and $\overline{A} = A$ (real entries), so $\overline{A}^\top = A^\top = A$.
For a Hermitian matrix, the inner product $\langle Ax, y \rangle$ is symmetric in the following sense. We compute directly:
\begin{align*}
\langle Ax, y \rangle &= \sum_{i=1}^{n} (Ax)_i \overline{y_i} = \sum_{i=1}^{n} \biggl(\sum_{j=1}^{n} a_{ij} x_j\biggr) \overline{y_i} = \sum_{i,j} a_{ij} x_j \overline{y_i}.
\end{align*}
On the other hand,
\begin{align*}
\langle x, Ay \rangle &= \sum_{j=1}^{n} x_j \overline{(Ay)_j} = \sum_{j=1}^{n} x_j \overline{\sum_{i=1}^{n} a_{ji} y_i} = \sum_{i,j} x_j \overline{a_{ji}} \overline{y_i}.
\end{align*}
Since $A$ is real, $\overline{a_{ji}} = a_{ji}$, and since $A$ is symmetric, $a_{ji} = a_{ij}$. So $\overline{a_{ji}} = a_{ij}$ and the two sums are identical: $\langle Ax, y \rangle = \langle x, Ay \rangle$.
Now we use this with $x = y = v$:
\begin{align*}
\lambda \langle v, v \rangle = \langle Av, v \rangle = \langle v, Av \rangle = \langle v, \lambda v \rangle = \overline{\lambda} \langle v, v \rangle.
\end{align*}
The conjugate appears because the Hermitian inner product is conjugate-linear in the second argument: $\langle x, \alpha y \rangle = \overline{\alpha} \langle x, y \rangle$. Since $v \neq 0$, we have $\langle v, v \rangle = \sum_j |v_j|^2 > 0$, so we may divide to obtain $\lambda = \overline{\lambda}$. A complex number equals its conjugate if and only if it is real, so $\lambda \in \mathbb{R}$.
Since $\lambda$ was an arbitrary eigenvalue of $A$, all eigenvalues of $A$ are real.
[/guided]
[/step]