[proofplan]
We compare the derived series of $\mathfrak h$ with the derived series of $\mathfrak g$. The key point is that the bracket on $\mathfrak h$ is the restriction of the bracket on $\mathfrak g$, so commutators formed inside $\mathfrak h$ are also commutators formed inside $\mathfrak g$. An induction gives $\mathfrak h^{(i)} \subseteq \mathfrak g^{(i)}$ for every $i \geq 0$, and the vanishing of some derived term of $\mathfrak g$ then forces the corresponding derived term of $\mathfrak h$ to vanish.
[/proofplan]
[step:Define the two derived series]
Let $(\mathfrak g^{(i)})_{i \geq 0}$ denote the derived series of $\mathfrak g$, defined by
\begin{align*}
\mathfrak g^{(0)} &= \mathfrak g, &
\mathfrak g^{(i+1)} &= [\mathfrak g^{(i)}, \mathfrak g^{(i)}]
\end{align*}
for every integer $i \geq 0$. Here $[\mathfrak g^{(i)}, \mathfrak g^{(i)}]$ denotes the $k$-linear span in $\mathfrak g$ of all brackets $[x,y]$ with $x,y \in \mathfrak g^{(i)}$.
Let $(\mathfrak h^{(i)})_{i \geq 0}$ denote the derived series of $\mathfrak h$, defined by
\begin{align*}
\mathfrak h^{(0)} &= \mathfrak h, &
\mathfrak h^{(i+1)} &= [\mathfrak h^{(i)}, \mathfrak h^{(i)}]
\end{align*}
for every integer $i \geq 0$, where the bracket is the restriction of the Lie bracket of $\mathfrak g$ to the subalgebra $\mathfrak h$.
[/step]
[step:Prove by induction that each derived subalgebra of $\mathfrak h$ lies in the corresponding derived subalgebra of $\mathfrak g$]
We prove that
\begin{align*}
\mathfrak h^{(i)} \subseteq \mathfrak g^{(i)}
\end{align*}
for every integer $i \geq 0$.
For $i=0$, this is exactly the subalgebra inclusion $\mathfrak h \subseteq \mathfrak g$.
Assume that $i \geq 0$ and that $\mathfrak h^{(i)} \subseteq \mathfrak g^{(i)}$. Since the bracket on $\mathfrak h$ is the restriction of the bracket on $\mathfrak g$, every bracket $[x,y]$ with $x,y \in \mathfrak h^{(i)}$ is also a bracket of two elements of $\mathfrak g^{(i)}$. Therefore the $k$-linear span of such brackets in $\mathfrak h$ is contained in the $k$-linear span of all brackets of elements of $\mathfrak g^{(i)}$:
\begin{align*}
\mathfrak h^{(i+1)}
&= [\mathfrak h^{(i)}, \mathfrak h^{(i)}] \\
&\subseteq [\mathfrak g^{(i)}, \mathfrak g^{(i)}] \\
&= \mathfrak g^{(i+1)}.
\end{align*}
By induction, $\mathfrak h^{(i)} \subseteq \mathfrak g^{(i)}$ for every integer $i \geq 0$.
[guided]
We want to compare solvability of $\mathfrak h$ to solvability of $\mathfrak g$. Since solvability is defined by repeated commutators, the natural comparison is between the two derived series.
We claim that
\begin{align*}
\mathfrak h^{(i)} \subseteq \mathfrak g^{(i)}
\end{align*}
for every integer $i \geq 0$. For $i=0$, the statement says
\begin{align*}
\mathfrak h^{(0)} = \mathfrak h \subseteq \mathfrak g = \mathfrak g^{(0)},
\end{align*}
which is precisely the hypothesis that $\mathfrak h$ is a Lie subalgebra of $\mathfrak g$.
Now suppose the inclusion holds at some integer $i \geq 0$, so $\mathfrak h^{(i)} \subseteq \mathfrak g^{(i)}$. The next derived term is obtained by taking all brackets of elements in the previous term and then taking their $k$-linear span. If $x,y \in \mathfrak h^{(i)}$, then the induction hypothesis gives $x,y \in \mathfrak g^{(i)}$. Because $\mathfrak h$ uses the bracket inherited from $\mathfrak g$, the bracket $[x,y]$ computed in $\mathfrak h$ is the same element as the bracket $[x,y]$ computed in $\mathfrak g$. Hence every generator of $[\mathfrak h^{(i)}, \mathfrak h^{(i)}]$ is a generator allowed in $[\mathfrak g^{(i)}, \mathfrak g^{(i)}]$. Taking $k$-linear spans preserves inclusion, so
\begin{align*}
\mathfrak h^{(i+1)}
&= [\mathfrak h^{(i)}, \mathfrak h^{(i)}] \\
&\subseteq [\mathfrak g^{(i)}, \mathfrak g^{(i)}] \\
&= \mathfrak g^{(i+1)}.
\end{align*}
This proves the induction step, and therefore $\mathfrak h^{(i)} \subseteq \mathfrak g^{(i)}$ for all integers $i \geq 0$.
[/guided]
[/step]
[step:Use the vanishing of the derived series of $\mathfrak g$ to force the vanishing of the derived series of $\mathfrak h$]
Since $\mathfrak g$ is solvable, there exists an integer $m \geq 0$ such that
\begin{align*}
\mathfrak g^{(m)} = 0.
\end{align*}
From the inclusion proved above,
\begin{align*}
\mathfrak h^{(m)} \subseteq \mathfrak g^{(m)} = 0.
\end{align*}
Thus $\mathfrak h^{(m)} = 0$. Therefore the derived series of $\mathfrak h$ terminates at zero, so $\mathfrak h$ is solvable.
[/step]