\begin{tikzpicture}[vec/.style={-{Latex[length=3mm]}, thick}, >=Latex]
  % Domain V
  \draw[thick] (0,0) ellipse (2.2 and 2.8);
  \node at (0,2.5) {$V$};

  % ker(T) blob inside V
  \draw[thick, blue!70!black, fill=blue!10] (0,-1.3) ellipse (1.1 and 0.9);
  \node[blue!70!black] at (0,-1.3) {$\ker(T)$};

  % generic vector v in V
  \fill (0,0.6) circle (1.5pt);
  \node[above] at (0,0.7) {$v$};

  % Codomain W
  \draw[thick] (7,0) ellipse (2.6 and 2.8);
  \node at (7,2.5) {$W$};

  % Im(T) blob inside W
  \draw[thick, teal!70!black, fill=teal!10] (7.4,0.7) ellipse (1.7 and 1.3);
  \node[teal!70!black] at (7.4,1.85) {$\mathrm{Im}(T)$};

  % origin point in W (image of ker)
  \fill (7,-1.7) circle (1.5pt);
  \node[below] at (7,-1.85) {$0$};

  % image of v
  \fill (7.7,0.6) circle (1.5pt);
  \node[right] at (7.8,0.6) {$T(v)$};

  % main arrow T
  \draw[vec] (2.4,0) -- (4.4,0) node[midway, above] {$T$};

  % ker(T) -> 0 arrow
  \draw[vec, blue!70!black, dashed] (0.9,-1.6) to[bend right=20] (6.3,-1.75);

  % v -> T(v) arrow
  \draw[vec, gray] (0.9,0.65) to[bend left=12] (7.6,0.65);
\end{tikzpicture}
