[proofplan]
We reduce to the unital, commutative case by passing to a maximal commutative subalgebra $C \subseteq A$ containing $x$ and $y$. By [Maximal Commutative Subalgebras](/theorems/2674), such a $C$ exists, is a unital commutative Banach algebra, and preserves the spectrum: $\sigma_C(z) = \sigma_A(z)$ for all $z \in C$. In the commutative case [Spectrum via Characters](/theorems/2677) gives $r_C(z) = \sup_{\varphi \in \Phi_C} |\varphi(z)|$. The two inequalities then follow from linearity and multiplicativity of characters together with elementary properties of suprema.
[/proofplan]
[step:Reduce to a unital algebra by adjoining a unit if necessary]
If $A$ is non-unital, embed $A$ into its **unitisation** $A_+ := A \oplus \mathbb{C}$ as a closed two-sided ideal of codimension $1$, with norm $\|(a, \lambda)\|_{A_+} := \|a\|_A + |\lambda|$ and multiplication $(a, \lambda)(b, \mu) := (ab + \lambda b + \mu a, \lambda\mu)$. The unit is $1_{A_+} = (0, 1)$. Then $A_+$ is a unital Banach algebra, and the inclusion $a \mapsto (a, 0)$ is an isometric algebra homomorphism. For $z \in A$, by the [Spectrum in the Unitisation](/theorems/???) identity,
\begin{align*}
\sigma_{A_+}(z) = \sigma_A(z) \cup \{0\},
\end{align*}
which gives $r_{A_+}(z) = r_A(z)$ when $\sigma_A(z) \ne \varnothing$, and $r_{A_+}(z) = 0 = r_A(z)$ when $\sigma_A(z) = \varnothing$. (For non-unital algebras, the convention is that the spectrum may exclude $0$; the spectral radius is the same.)
If $A$ is already unital, take $A_+ = A$. In either case, $x$ and $y$ are commuting elements of the unital Banach algebra $A_+$, with the same spectral radii as in $A$. We now work in $A_+$ and write $A$ for the unital algebra to lighten notation.
[/step]
[step:Pass to a maximal commutative subalgebra containing $x$ and $y$]
Consider the family
\begin{align*}
\mathcal{S} := \{B \subseteq A : B \text{ is a commutative unital subalgebra of } A \text{ containing } x \text{ and } y\},
\end{align*}
ordered by inclusion. The set $\mathcal{S}$ is non-empty: it contains the unital subalgebra generated by $\{x, y\}$, which is commutative because $xy = yx$ and $1$ commutes with everything. Every chain $\{B_\alpha\}_\alpha$ in $\mathcal{S}$ has upper bound $\bigcup_\alpha B_\alpha$ — a commutative unital subalgebra containing $x$ and $y$. By Zorn's Lemma, $\mathcal{S}$ has a maximal element $C_0$. Set $C := \overline{C_0}$, the closure of $C_0$ in $A$.
Closure preserves all the structure: $C$ is a closed subalgebra (closure of a subalgebra of a topological algebra is again a subalgebra by continuity of $+$ and $\cdot$), commutative (closure of a commutative subset is commutative by continuity of multiplication and the limit-of-products formula), unital (since $1 \in C_0 \subseteq C$), and contains $x, y$. Hence $C$ is a closed commutative unital subalgebra of $A$ containing $x, y$ — i.e.\ a unital commutative Banach algebra (as a closed subalgebra of a Banach algebra).
By the [Maximal Commutative Subalgebras](/theorems/2674) theorem, the spectrum is preserved under inclusion into $A$:
\begin{align*}
\sigma_C(z) = \sigma_A(z) \quad \text{for every } z \in C.
\end{align*}
In particular, $r_C(z) = r_A(z)$ for every $z \in C$. (We invoke theorem 2674 with the maximal commutative subalgebra hypothesis: maximal commutative subalgebras are automatically closed, since the closure of a commutative subalgebra is commutative, by joint continuity of multiplication. Hence $C_0 = \overline{C_0} = C$ is itself maximal commutative.)
[/step]
[step:Express both spectral radii via characters of $C$]
The closed unital subalgebra $C$ is a commutative unital Banach algebra. Apply [Spectrum via Characters](/theorems/2677) (iii) to $C$: for every $z \in C$,
\begin{align*}
r_C(z) = \sup_{\varphi \in \Phi_C} |\varphi(z)|.
\end{align*}
Combined with $r_A(z) = r_C(z)$ from Step 2, we obtain for every $z \in C$:
\begin{align*}
r_A(z) = \sup_{\varphi \in \Phi_C} |\varphi(z)|. \tag{$\star$}
\end{align*}
Since $x, y, x + y, xy \in C$ (the last two by commutativity of $C$), formula $(\star)$ applies to all four.
[/step]
[step:Establish subadditivity using linearity of characters]
For each $\varphi \in \Phi_C$, by linearity of $\varphi$ and the triangle inequality on $\mathbb{C}$:
\begin{align*}
|\varphi(x + y)| = |\varphi(x) + \varphi(y)| \le |\varphi(x)| + |\varphi(y)|.
\end{align*}
Taking the supremum over $\varphi \in \Phi_C$, and using the elementary inequality $\sup_\varphi (a_\varphi + b_\varphi) \le \sup_\varphi a_\varphi + \sup_\varphi b_\varphi$ (which holds for any non-negative bounded families):
\begin{align*}
\sup_{\varphi \in \Phi_C}|\varphi(x + y)| \le \sup_{\varphi \in \Phi_C}\bigl(|\varphi(x)| + |\varphi(y)|\bigr) \le \sup_{\varphi \in \Phi_C}|\varphi(x)| + \sup_{\varphi \in \Phi_C}|\varphi(y)|.
\end{align*}
By formula $(\star)$ applied to $x + y$, $x$, and $y$:
\begin{align*}
r_A(x + y) \le r_A(x) + r_A(y).
\end{align*}
[/step]
[step:Establish submultiplicativity using multiplicativity of characters]
For each $\varphi \in \Phi_C$, by multiplicativity of $\varphi$:
\begin{align*}
|\varphi(xy)| = |\varphi(x)\varphi(y)| = |\varphi(x)|\cdot|\varphi(y)|.
\end{align*}
Taking suprema over $\varphi \in \Phi_C$ and using $\sup_\varphi (a_\varphi b_\varphi) \le (\sup_\varphi a_\varphi)(\sup_\varphi b_\varphi)$ for non-negative families:
\begin{align*}
\sup_{\varphi \in \Phi_C}|\varphi(xy)| = \sup_{\varphi \in \Phi_C}|\varphi(x)|\cdot|\varphi(y)| \le \sup_{\varphi \in \Phi_C}|\varphi(x)| \cdot \sup_{\varphi \in \Phi_C}|\varphi(y)|.
\end{align*}
By formula $(\star)$ applied to $xy$, $x$, and $y$:
\begin{align*}
r_A(xy) \le r_A(x) r_A(y).
\end{align*}
[guided]
We prove $r_A(xy) \le r_A(x) r_A(y)$ from scratch, using the character formula $(\star)$ established in Step 3:
\begin{align*}
r_A(z) = \sup_{\varphi \in \Phi_C} |\varphi(z)| \qquad \text{for every } z \in C,
\end{align*}
where $C$ is the maximal commutative unital Banach subalgebra of $A$ containing $x$ and $y$ produced in Step 2. Since $x, y \in C$ and $C$ is closed under multiplication, $xy \in C$, so $(\star)$ applies to $xy$ as well as to $x$ and $y$.
Fix $\varphi \in \Phi_C$. By definition a character is a non-zero algebra homomorphism $\varphi: C \to \mathbb{C}$, so $\varphi$ is multiplicative:
\begin{align*}
\varphi(xy) = \varphi(x)\varphi(y).
\end{align*}
Why does multiplicativity of $\varphi$ give us what we want? Because $\varphi$ takes values in $\mathbb{C}$, and on $\mathbb{C}$ the absolute value is itself multiplicative: $|zw| = |z||w|$. Combining these two facts:
\begin{align*}
|\varphi(xy)| = |\varphi(x)\varphi(y)| = |\varphi(x)| \cdot |\varphi(y)|.
\end{align*}
Now we take the supremum over $\varphi \in \Phi_C$ on both sides. The left-hand side is exactly $r_A(xy)$ by $(\star)$. For the right-hand side, we use the elementary supremum inequality
\begin{align*}
\sup_{\varphi} \bigl( a_\varphi b_\varphi \bigr) \le \Bigl(\sup_\varphi a_\varphi\Bigr) \Bigl(\sup_\varphi b_\varphi\Bigr)
\end{align*}
valid for any non-negative bounded families $(a_\varphi), (b_\varphi)$. We verify non-negativity: $a_\varphi := |\varphi(x)| \ge 0$ and $b_\varphi := |\varphi(y)| \ge 0$ since they are absolute values. Hence
\begin{align*}
r_A(xy) = \sup_{\varphi \in \Phi_C} |\varphi(xy)| = \sup_{\varphi \in \Phi_C} |\varphi(x)| \cdot |\varphi(y)| \le \sup_{\varphi \in \Phi_C} |\varphi(x)| \cdot \sup_{\varphi \in \Phi_C} |\varphi(y)|.
\end{align*}
Applying $(\star)$ to $x$ and to $y$ on the right-hand side:
\begin{align*}
r_A(xy) \le r_A(x) \cdot r_A(y),
\end{align*}
which is the desired submultiplicativity inequality.
[/guided]
[/step]