[proofplan]
We show that $p(\lambda) = \prod_\mu (\lambda - \mu)^{s_\mu}$ satisfies the two defining properties of the minimal polynomial: (i) $p(T) = 0$, and (ii) no polynomial of lower degree annihilates $T$. For (i), we verify $p(J) = 0$ by checking each Jordan block, using the fact that $(\lambda_j - \lambda_j)^{s_{\lambda_j}} = 0$ kills the nilpotent part of each block since $s_{\lambda_j}$ is at least the block size. For (ii), we exhibit a non-zero vector in the kernel of any polynomial of lower degree applied to $T$, by targeting the largest block for the eigenvalue whose exponent was reduced.
[/proofplan]
[step:Verify that $p(T) = 0$ where $p(\lambda) = \prod_\mu (\lambda - \mu)^{s_\mu}$]
Let $\mu_1, \ldots, \mu_\ell$ be the distinct eigenvalues of $T$, and define
\begin{align*}
p(\lambda) &:= \prod_{i=1}^\ell (\lambda - \mu_i)^{s_{\mu_i}},
\end{align*}
where $s_{\mu_i}$ is the size of the largest Jordan block with eigenvalue $\mu_i$.
Working in the Jordan basis, we show $p(J) = 0$ by verifying $p(J_{m_j}(\lambda_j)) = 0$ for each Jordan block $J_{m_j}(\lambda_j)$. Write $J_{m_j}(\lambda_j) = \lambda_j I_{m_j} + N_j$, where $N_j$ is the $m_j \times m_j$ nilpotent matrix with $1$'s on the superdiagonal and $0$'s elsewhere. Then $N_j^{m_j} = 0$.
For the factor $(\lambda - \lambda_j)^{s_{\lambda_j}}$ evaluated at $J_{m_j}(\lambda_j)$:
\begin{align*}
(J_{m_j}(\lambda_j) - \lambda_j I)^{s_{\lambda_j}} &= N_j^{s_{\lambda_j}} = 0,
\end{align*}
since $s_{\lambda_j} \geq m_j$ by definition ($s_{\lambda_j}$ is the size of the largest block for $\lambda_j$, so it is at least as large as any individual block size $m_j$). Therefore
\begin{align*}
p(J_{m_j}(\lambda_j)) &= \prod_{i=1}^\ell (J_{m_j}(\lambda_j) - \mu_i I)^{s_{\mu_i}}
\end{align*}
contains the factor $(J_{m_j}(\lambda_j) - \lambda_j I)^{s_{\lambda_j}} = N_j^{s_{\lambda_j}} = 0$. Since one factor in the product is the zero matrix, the entire product is zero. This holds for every block $j$, so $p(J) = 0$, and since $J = P^{-1}AP$, we have $p(A) = P \, p(J) \, P^{-1} = 0$.
[guided]
We need to check that $p$ annihilates $T$. Since $T$ is represented by $J$ in a Jordan basis (with $J = P^{-1}AP$), we have $p(A) = P \, p(J) \, P^{-1}$, so it suffices to show $p(J) = 0$. The block-diagonal structure of $J = \bigoplus_j J_{m_j}(\lambda_j)$ means
\begin{align*}
p(J) &= \bigoplus_{j=1}^k p(J_{m_j}(\lambda_j)),
\end{align*}
so it suffices to check $p(J_{m_j}(\lambda_j)) = 0$ for each individual block.
Fix a block $J_{m_j}(\lambda_j)$ of size $m_j$. Write $J_{m_j}(\lambda_j) = \lambda_j I_{m_j} + N_j$, where $N_j$ is the $m_j \times m_j$ nilpotent matrix with $1$'s on the superdiagonal and $0$'s elsewhere, satisfying $N_j^{m_j} = 0$. The polynomial $p(\lambda) = \prod_{i=1}^\ell (\lambda - \mu_i)^{s_{\mu_i}}$ contains the factor $(\lambda - \lambda_j)^{s_{\lambda_j}}$ (where $\lambda_j = \mu_i$ for some $i$). Substituting $J_{m_j}(\lambda_j)$:
\begin{align*}
(J_{m_j}(\lambda_j) - \lambda_j I)^{s_{\lambda_j}} &= N_j^{s_{\lambda_j}}.
\end{align*}
The key point: $s_{\lambda_j}$ is defined as the size of the *largest* Jordan block for eigenvalue $\lambda_j$, so $s_{\lambda_j} \geq m_j$. Since $N_j^{m_j} = 0$ and $s_{\lambda_j} \geq m_j$, we have $N_j^{s_{\lambda_j}} = 0$.
Now the full product $p(J_{m_j}(\lambda_j)) = \prod_{i=1}^\ell (J_{m_j}(\lambda_j) - \mu_i I)^{s_{\mu_i}}$ contains the factor $N_j^{s_{\lambda_j}} = 0$. Since one factor in the product is the zero matrix, the entire product is zero regardless of the other factors. This argument works for every block $j$, because $p$ always contains a factor $(\lambda - \lambda_j)^{s_{\lambda_j}}$ corresponding to that block's eigenvalue, raised to a power at least as large as the block size. Therefore $p(J) = 0$, which gives $p(A) = P \cdot 0 \cdot P^{-1} = 0$, confirming $p(T) = 0$.
[/guided]
[/step]
[step:Show no polynomial of degree less than $\deg p$ can annihilate $T$]
Suppose $q \in \mathbb{C}[\lambda]$ is a monic polynomial with $q(T) = 0$ and $\deg q < \deg p$. Since $q(T) = 0$, we have $q(J) = 0$, so $q(J_{m_j}(\lambda_j)) = 0$ for every block $j$.
Since $\chi_T$ annihilates $T$ (by the Cayley-Hamilton theorem), every root of $q$ is an eigenvalue of $T$. Write
\begin{align*}
q(\lambda) &= \prod_{i=1}^\ell (\lambda - \mu_i)^{t_i} \cdot h(\lambda),
\end{align*}
where $h$ has no roots among the eigenvalues, and $t_i \geq 0$. Since $\deg q < \deg p = \sum_{i=1}^\ell s_{\mu_i}$ and all roots of $q$ that annihilates $T$ must be eigenvalues of $T$ (as $q(J_{m_j}(\lambda_j)) = 0$ requires $\mu$ to be an eigenvalue), the factor $h$ must be a non-zero constant. So $q(\lambda) = c \prod_{i=1}^\ell (\lambda - \mu_i)^{t_i}$ with $\sum t_i < \sum s_{\mu_i}$, hence $t_i < s_{\mu_i}$ for at least one index $i$.
[guided]
We argue by contradiction. Suppose $q \in \mathbb{C}[\lambda]$ is a monic polynomial with $q(T) = 0$ and $\deg q < \deg p = \sum_{i=1}^\ell s_{\mu_i}$. Since $q(T) = 0$ implies $q(J) = 0$ (via similarity), the polynomial $q$ must annihilate each Jordan block individually: $q(J_{m_j}(\lambda_j)) = 0$ for all $j$.
We first claim that every root of $q$ must be an eigenvalue of $T$. Why? If $\alpha$ is not an eigenvalue of $T$, then for every block $J_{m_j}(\lambda_j)$, the matrix $J_{m_j}(\lambda_j) - \alpha I$ is invertible (it is upper triangular with diagonal entries $\lambda_j - \alpha \neq 0$, so its determinant is $(\lambda_j - \alpha)^{m_j} \neq 0$). This means the factor $(\lambda - \alpha)$ in $q$ can be "divided out": if $q(\lambda) = (\lambda - \alpha) \tilde{q}(\lambda)$, then $q(J_{m_j}(\lambda_j)) = (J_{m_j}(\lambda_j) - \alpha I) \tilde{q}(J_{m_j}(\lambda_j)) = 0$. Since $J_{m_j}(\lambda_j) - \alpha I$ is invertible, this forces $\tilde{q}(J_{m_j}(\lambda_j)) = 0$, so $\tilde{q}$ also annihilates $T$ with smaller degree. Removing all non-eigenvalue roots, we may write
\begin{align*}
q(\lambda) &= c \prod_{i=1}^\ell (\lambda - \mu_i)^{t_i},
\end{align*}
where $c$ is a non-zero constant and $t_i \geq 0$ for each $i$. Since $\deg q = \sum_{i=1}^\ell t_i < \sum_{i=1}^\ell s_{\mu_i} = \deg p$, at least one exponent must satisfy $t_i < s_{\mu_i}$.
[/guided]
[/step]
[step:Exhibit a non-zero vector that $q$ fails to annihilate, reaching a contradiction]
Fix an index $i$ with $t_i < s_{\mu_i}$. Let $J_{s_{\mu_i}}(\mu_i)$ be a Jordan block of the maximal size $s_{\mu_i}$ for eigenvalue $\mu_i$, and let $N_i$ denote its nilpotent part. We show $q(J_{s_{\mu_i}}(\mu_i)) \neq 0$.
Evaluate the factor $(J_{s_{\mu_i}}(\mu_i) - \mu_i I)^{t_i} = N_i^{t_i}$. Since $t_i < s_{\mu_i}$, the matrix $N_i^{t_i} \neq 0$ (the nilpotent matrix $N_i$ of size $s_{\mu_i}$ satisfies $N_i^k \neq 0$ for all $k < s_{\mu_i}$).
For each other factor $(\mu_a \neq \mu_i)$, the matrix $J_{s_{\mu_i}}(\mu_i) - \mu_a I = (\mu_i - \mu_a) I + N_i$ is invertible (since $\mu_i - \mu_a \neq 0$ and $N_i$ is nilpotent, their sum is invertible). Therefore $(J_{s_{\mu_i}}(\mu_i) - \mu_a I)^{t_a}$ is also invertible for each $a \neq i$.
The product $q(J_{s_{\mu_i}}(\mu_i))$ equals the product of an invertible matrix (the contributions from all $\mu_a \neq \mu_i$) with the non-zero matrix $N_i^{t_i}$. The product of an invertible matrix with a non-zero matrix is non-zero. Therefore $q(J_{s_{\mu_i}}(\mu_i)) \neq 0$, contradicting $q(J) = 0$.
[guided]
We need to show that reducing any exponent $t_i$ below $s_{\mu_i}$ breaks the annihilation property. Fix an index $i$ with $t_i < s_{\mu_i}$, and focus on the largest block $J_{s_{\mu_i}}(\mu_i)$ for eigenvalue $\mu_i$. Write $J_{s_{\mu_i}}(\mu_i) = \mu_i I + N_i$, where $N_i$ is the $s_{\mu_i} \times s_{\mu_i}$ nilpotent matrix with $1$'s on the superdiagonal.
The factor $(\lambda - \mu_i)^{t_i}$ evaluated at this block gives
\begin{align*}
(J_{s_{\mu_i}}(\mu_i) - \mu_i I)^{t_i} &= N_i^{t_i}.
\end{align*}
Why is $N_i^{t_i} \neq 0$ when $t_i < s_{\mu_i}$? The matrix $N_i^{t_i}$ has $1$'s on the $t_i$-th superdiagonal: explicitly, $(N_i^{t_i})_{ab} = 1$ when $b = a + t_i$ and $0$ otherwise. Since $t_i < s_{\mu_i}$, this superdiagonal lies within the matrix (for instance, entry $(1, 1 + t_i)$ is non-zero), so $N_i^{t_i} \neq 0$.
What about the other factors in $q(J_{s_{\mu_i}}(\mu_i)) = \prod_{a=1}^\ell (J_{s_{\mu_i}}(\mu_i) - \mu_a I)^{t_a}$? For each $\mu_a \neq \mu_i$:
\begin{align*}
J_{s_{\mu_i}}(\mu_i) - \mu_a I &= (\mu_i - \mu_a)I + N_i.
\end{align*}
This is a non-zero scalar $(\mu_i - \mu_a \neq 0)$ plus a nilpotent. Such a matrix is invertible: its inverse is given by the finite geometric series $\frac{1}{\mu_i - \mu_a} \sum_{j=0}^{s_{\mu_i}-1} \left(\frac{-N_i}{\mu_i - \mu_a}\right)^j$ (this terminates because $N_i^{s_{\mu_i}} = 0$). Therefore $(J_{s_{\mu_i}}(\mu_i) - \mu_a I)^{t_a}$ is also invertible for each $a \neq i$.
All factors in the product $q(J_{s_{\mu_i}}(\mu_i))$ are polynomials in the single matrix $J_{s_{\mu_i}}(\mu_i)$, so they commute with each other. The product equals an invertible matrix times the non-zero matrix $N_i^{t_i}$ times another invertible matrix:
\begin{align*}
q(J_{s_{\mu_i}}(\mu_i)) &= \underbrace{\prod_{a \neq i} (J_{s_{\mu_i}}(\mu_i) - \mu_a I)^{t_a}}_{\text{invertible}} \cdot \underbrace{N_i^{t_i}}_{\neq\, 0} \;\neq\; 0.
\end{align*}
This contradicts $q(J) = 0$ (which requires every block to be annihilated). Therefore no monic annihilating polynomial of degree less than $\deg p$ exists.
[/guided]
[/step]
[step:Conclude that $p$ is the minimal polynomial]
We have shown:
1. $p(T) = 0$, so $p$ is an annihilating polynomial.
2. No monic polynomial of degree less than $\deg p$ annihilates $T$.
The minimal polynomial $m_T$ is by definition the unique monic polynomial of least degree that annihilates $T$. Since $p$ is monic and no lower-degree monic polynomial works, $m_T = p$, giving
\begin{align*}
m_T(\lambda) &= \prod_{\mu \text{ distinct eigenvalue}} (\lambda - \mu)^{s_\mu}.
\end{align*}
[/step]