copy of answer on question on MSE:
Here is a nice (in my opinion) elementary proof. It only assumes you know transistion functions for vector bundles, the standard charts for $S^2$, and that a nowhere-zero global section demonstrates triviality of a line bundle.
Since $\mathbb{R}^2\cong S^2\setminus \{\infty\}$ is contractible, we have that $\mathcal{L}|_{S^2\setminus \{\infty\}}$ must be trivial, and similarly for $\mathcal{L}|_{S^2\setminus \{0\}}$. A global section of the bundle consists of two smooth functions $f_1,f_2:\mathbb{R}^2\to \mathbb{R}$ such that on $\mathbb{R}^2\setminus\{0\}$: $$f_2(x)=g(x)f_1(x^{-1}) \quad(*)$$ where $g(x)$ is some nowhere vanishing smooth function on $\mathbb{R}^2\setminus\{0\}$, and $x^{-1}$ is $1/x$ the complex sense. So after specifying $f_1$, we know all values of $f_2$, except $f_2(0)$. We want to show that we can find some $f_1$ and $f_2$ both nowhere $0$ such that $f_2$ satisfies $(*)$.
We construct $f_1$: denote by $U_1$ the ball $B(0,1)$, $A$ the annulus A[1,2], and $U_2$ the set $\mathbb{R}^2\setminus B(0,2)$. Let $b_1,b_2$ be positive bump functions such that: $b_1(x)=1$ on $U_1$, $b_1(x)=0$ on $U_2$, $b_2=1$ on $U_2$, $b_2=0$ on $U_1$ and $b_1+b_2=1$ on $A$. Then define $$f_1(x)=b_1(x)+g(x^{-1})^{-1}b_2(x)$$ Note that $f_1$ is nowhere 0 and smooth. Then on $\mathbb{R}^2\setminus\{0\}$: $$f_2(x)=g(x)(b_1(x^{-1})+g(x)^{-1}b_2(x))=g(x)b_1(x^{-1})+b_2(x^{-1})$$ Note that this is also smooth on $\mathbb{R}^2\setminus\{0\}$. Also, as $|x|\to 0$, $f_2(x)=b_2(x^{-1})=1$, so $f_2$ extends to a nowhere zero smooth function on $\mathbb{R}^2$.
The reason for the bump functions is that the naive definition $f_1(x)=g(x^{-1})^{-1}$ does not work: this might not extend to a smooth function on $\mathbb{R}^2$ if $g$ is annoying. The bump functions get rid of this problem. The need for bump functions is no coincidence: every proof of this fact has to fail in the analytic category. This proof fails there because bump functions are not analytic.