[proofplan]
We use the tensor-Hom identification $V^*\otimes W\cong \operatorname{Hom}_{\mathbb C}(V,W)$, valid because $V$ is finite-dimensional, and compute how the diagonal $\mathfrak g$-action is transported across it. Under this identification, the action on a [linear map](/page/Linear%20Map) $\Phi:V\to W$ is the commutator action $(x\cdot \Phi)(v)=x\cdot \Phi(v)-\Phi(x\cdot v)$. Therefore invariant tensors are exactly those linear maps whose commutator action is zero, which is precisely the condition of being a $\mathfrak g$-[module homomorphism](/page/Module%20Homomorphism). The same formula also gives naturality in both module variables.
[/proofplan]
[step:Identify tensors with linear maps by the canonical tensor-Hom map]
Define the complex-linear map
\begin{align*}
\Theta:V^*\otimes W\to \operatorname{Hom}_{\mathbb C}(V,W)
\end{align*}
by requiring, on pure tensors, that
\begin{align*}
\Theta(\lambda\otimes w)(v)=\lambda(v)w
\end{align*}
for every $\lambda\in V^*$, $w\in W$, and $v\in V$.
Since $V$ is finite-dimensional, $\Theta$ is an isomorphism. Indeed, if $(v_1,\dots,v_n)$ is a complex basis of $V$ and $(v_1^*,\dots,v_n^*)$ is its [dual basis](/theorems/414), then the inverse map sends $\Phi\in \operatorname{Hom}_{\mathbb C}(V,W)$ to
\begin{align*}
\sum_{i=1}^n v_i^*\otimes \Phi(v_i).
\end{align*}
Applying $\Theta$ to this tensor gives, for every $v\in V$,
\begin{align*}
\Theta\left(\sum_{i=1}^n v_i^*\otimes \Phi(v_i)\right)(v)=\sum_{i=1}^n v_i^*(v)\Phi(v_i)=\Phi(v).
\end{align*}
Conversely, the same formula recovers every tensor because every element of $V^*\otimes W$ is a finite sum of pure tensors and the dual basis expansion recovers the $V^*$ factor.
[guided]
The point of this step is to replace tensors by ordinary linear maps, where the condition of being $\mathfrak g$-equivariant can be written directly. Define
\begin{align*}
\Theta:V^*\otimes W\to \operatorname{Hom}_{\mathbb C}(V,W)
\end{align*}
by
\begin{align*}
\Theta(\lambda\otimes w)(v)=\lambda(v)w.
\end{align*}
Here $\lambda\in V^*$ is a complex-linear functional, $w\in W$, and $v\in V$. The formula is bilinear in $\lambda$ and $w$, so it determines a unique complex-linear map from the [tensor product](/page/Tensor%20Product).
Why is $\Theta$ an isomorphism? This is exactly where finite-dimensionality of $V$ is used. Choose a basis $(v_1,\dots,v_n)$ of $V$, and let $(v_1^*,\dots,v_n^*)$ be the dual basis of $V^*$. Define the complex-linear map
\begin{align*}
S:\operatorname{Hom}_{\mathbb C}(V,W)\to V^*\otimes W
\end{align*}
by
\begin{align*}
S(\Phi):=\sum_{i=1}^n v_i^*\otimes \Phi(v_i)
\end{align*}
for every linear map $\Phi:V\to W$.
Then, for every $v\in V$,
\begin{align*}
\Theta(S(\Phi))(v)=\sum_{i=1}^n v_i^*(v)\Phi(v_i).
\end{align*}
Since $v=\sum_{i=1}^n v_i^*(v)v_i$, linearity of $\Phi$ gives
\begin{align*}
\sum_{i=1}^n v_i^*(v)\Phi(v_i)=\Phi\left(\sum_{i=1}^n v_i^*(v)v_i\right)=\Phi(v).
\end{align*}
Thus $\Theta(S(\Phi))=\Phi$.
Conversely, if $\lambda\otimes w$ is a pure tensor, then
\begin{align*}
S(\Theta(\lambda\otimes w))=\sum_{i=1}^n v_i^*\otimes \lambda(v_i)w.
\end{align*}
Since $\lambda=\sum_{i=1}^n \lambda(v_i)v_i^*$ in $V^*$, this equals $\lambda\otimes w$. By linearity, $S\circ \Theta$ is the identity on all of $V^*\otimes W$. Therefore $\Theta$ is a complex vector-space isomorphism.
[/guided]
[/step]
[step:Compute the transported $\mathfrak g$-action on linear maps]
For $x\in\mathfrak g$, $\lambda\in V^*$, $w\in W$, and $v\in V$, the diagonal tensor product action gives
\begin{align*}
x\cdot(\lambda\otimes w)=(x\cdot\lambda)\otimes w+\lambda\otimes (x\cdot w).
\end{align*}
Using the contragredient action on $V^*$, we compute
\begin{align*}
\Theta(x\cdot(\lambda\otimes w))(v)=(x\cdot\lambda)(v)w+\lambda(v)(x\cdot w).
\end{align*}
By definition of the dual action, this is
\begin{align*}
\Theta(x\cdot(\lambda\otimes w))(v)=-\lambda(x\cdot v)w+x\cdot(\lambda(v)w).
\end{align*}
Since $\Theta(\lambda\otimes w)(v)=\lambda(v)w$, we obtain
\begin{align*}
\Theta(x\cdot(\lambda\otimes w))(v)=x\cdot \Theta(\lambda\otimes w)(v)-\Theta(\lambda\otimes w)(x\cdot v).
\end{align*}
By complex linearity in the tensor, the same formula holds for every $t\in V^*\otimes W$. If $\Phi:=\Theta(t)$, then
\begin{align*}
\Theta(x\cdot t)(v)=x\cdot \Phi(v)-\Phi(x\cdot v)
\end{align*}
for all $x\in\mathfrak g$ and $v\in V$.
[/step]
[step:Identify invariant tensors with $\mathfrak g$-module homomorphisms]
Let $t\in V^*\otimes W$, and set $\Phi:=\Theta(t)\in \operatorname{Hom}_{\mathbb C}(V,W)$. By definition,
\begin{align*}
t\in (V^*\otimes W)^{\mathfrak g}
\end{align*}
means that $x\cdot t=0$ for every $x\in\mathfrak g$. Since $\Theta$ is an isomorphism, this is equivalent to
\begin{align*}
\Theta(x\cdot t)=0
\end{align*}
for every $x\in\mathfrak g$. By the transported-action formula, this is equivalent to
\begin{align*}
x\cdot \Phi(v)-\Phi(x\cdot v)=0
\end{align*}
for every $x\in\mathfrak g$ and $v\in V$. Equivalently,
\begin{align*}
\Phi(x\cdot v)=x\cdot \Phi(v)
\end{align*}
for every $x\in\mathfrak g$ and $v\in V$, which is exactly the condition that $\Phi$ be a $\mathfrak g$-module homomorphism. Therefore $\Theta$ restricts to a complex vector-space isomorphism
\begin{align*}
(V^*\otimes W)^{\mathfrak g}\to \operatorname{Hom}_{\mathfrak g}(V,W).
\end{align*}
Taking its inverse gives the displayed isomorphism in the theorem statement.
[/step]
[step:Verify naturality of the restricted isomorphism]
Let $V'$ be a finite-dimensional complex $\mathfrak g$-module, and let $W'$ be a complex $\mathfrak g$-module. Let
\begin{align*}
a:V'\to V
\end{align*}
and
\begin{align*}
b:W\to W'
\end{align*}
be $\mathfrak g$-module homomorphisms. The induced map on ordinary Hom spaces sends $\Phi\in\operatorname{Hom}_{\mathbb C}(V,W)$ to
\begin{align*}
b\circ \Phi\circ a\in \operatorname{Hom}_{\mathbb C}(V',W').
\end{align*}
The induced tensor map is
\begin{align*}
a^*\otimes b:V^*\otimes W\to (V')^*\otimes W',
\end{align*}
where $a^*:V^*\to (V')^*$ is the dual map $\lambda\mapsto \lambda\circ a$.
For a finite-dimensional complex [vector space](/page/Vector%20Space) $A$ and a complex vector space $B$, let
\begin{align*}
\Theta_{A,B}:A^*\otimes B\to \operatorname{Hom}_{\mathbb C}(A,B)
\end{align*}
denote the tensor-Hom map defined on pure tensors by
\begin{align*}
\Theta_{A,B}(\mu\otimes y)(a_0)=\mu(a_0)y
\end{align*}
for $\mu\in A^*$, $y\in B$, and $a_0\in A$.
For a pure tensor $\lambda\otimes w\in V^*\otimes W$ and $v'\in V'$, we have
\begin{align*}
\Theta_{V',W'}((a^*\otimes b)(\lambda\otimes w))(v')=\lambda(a(v'))b(w).
\end{align*}
The right-hand side is also
\begin{align*}
(b\circ \Theta_{V,W}(\lambda\otimes w)\circ a)(v').
\end{align*}
By linearity, the equality holds for every tensor in $V^*\otimes W$. Thus the tensor-Hom isomorphism is compatible with precomposition in $V$ and postcomposition in $W$.
It remains to check explicitly that the tensor map preserves invariants. Since $a:V'\to V$ is a $\mathfrak g$-module homomorphism, for every $x\in\mathfrak g$, $\lambda\in V^*$, and $v'\in V'$ we have
\begin{align*}
((x\cdot a^*\lambda)(v'))=-\lambda(a(x\cdot v'))=-\lambda(x\cdot a(v'))=(a^*(x\cdot\lambda))(v').
\end{align*}
Therefore $a^*:V^*\to (V')^*$ is a $\mathfrak g$-module homomorphism for the contragredient actions. Since $b:W\to W'$ is also a $\mathfrak g$-module homomorphism, the tensor product map $a^*\otimes b:V^*\otimes W\to (V')^*\otimes W'$ is a $\mathfrak g$-module homomorphism for the diagonal tensor product actions. Hence, if $t\in (V^*\otimes W)^{\mathfrak g}$, then for every $x\in\mathfrak g$,
\begin{align*}
x\cdot ((a^*\otimes b)(t))=(a^*\otimes b)(x\cdot t)=0,
\end{align*}
so $(a^*\otimes b)(t)\in ((V')^*\otimes W')^{\mathfrak g}$. Thus the compatibility above restricts to invariant tensors and $\mathfrak g$-module homomorphisms. Hence the isomorphism
\begin{align*}
\operatorname{Hom}_{\mathfrak g}(V,W)\cong (V^*\otimes W)^{\mathfrak g}
\end{align*}
is natural in $V$ contravariantly and in $W$ covariantly. This proves the theorem.
[/step]