Infinite group has infinitely many subgroups, namely cyclic subgroups. If $G$ is an infinite group then $G$ has infinitely many subgroups.
Proof: Let's consider the following set: $C=\{\left \langle g \right \rangle: g\in G \}$ - collection of all cyclic subgroups in $G$ generated by elements of $G$. Two cases are possible:


*

*Exists infinitely many distinct cyclic subgroups $\Rightarrow$ We are done.

*Exists finitely many distinct cyclic subgroups for example $C=\{H_1, H_2,\dots, H_n\}$. Then $G=\bigcup \limits_{i=1}^{n}H_i$. Since $G$ is infinite then WLOG suppose that $H_1$ is also infinite, where $H_1=\left \langle g_1 \right \rangle$. Let's consider the following set $\{\left \langle g_1^n \right \rangle: n\in \mathbb{N}\}$ - the collection of all cyclic sugroups of $H_1\subset G.$  Let $K_1=\left \langle g_1 \right \rangle$, $K_2=\left \langle g_1^2 \right \rangle$, $K_3=\left \langle g_1^3 \right \rangle$, $\dots$. It's easy to show that $K_n$ and $K_m$ are distinct for $n\neq m$. Indeed, WLOG take $n<m$ and taking $g_1^n\in K_n$ but $g_1^n\notin K_m$ otherwise $g_1^n=g_1^{ml}$ where $l\in \mathbb{Z}$ $\Rightarrow$ $g_1^{n-ml}=e$ and since $H_1$ is infinite $\Rightarrow$ $n=ml$ which is contradiciton since $m>n$.
Thus, the subgroups $K_n$ for any $n\in \mathbb{N}$ are cyclic subgroups of $H_1$ $\Rightarrow$ cyclic subgroups of $G$.
Is this reasoning correct?
 A: The proof given is correct, and I'm suggesting an alternative only for the sake of style/clarity (which is more subjective than correctness).
The point in the OP's proof where a detailed argument appears is nested inside the case analysis (finitely many vs. infinitely many cyclic subgroups).  Pulling that argument out as a Lemma serves both to motivate the result and to simplify the main argument that follows:

Lemma An infinite cyclic group has infinitely many (cyclic) subgroups.
Proof: An infinite cyclic group is isomorphic to additive group $\mathbb Z$.  Each prime $p\in \mathbb Z$ generates a cyclic subgroup $p\mathbb Z$, and distinct primes give distinct subgroups.  So the infinitude of primes implies $\mathbb Z$ has infinitely many (distinct) cyclic subgroups.  QED
Proposition An infinite group has infinitely many (cyclic) subgroups.
Proof:  Let $G$ be an infinite group.  Every $g\in G$ belongs to at least one cyclic subgroup of $G$, namely $\langle g \rangle$. (1) If there exist infinitely many (distinct) cyclic subgroups of $G$, then we are done.  
So assume (2) $G$ has only finitely many cyclic subgroups $H_1,H_2,\ldots,H_k$.  Since $G$ is infinite, at least one of these $H_i$ must be infinite (otherwise we have a finite covering of $G$ with finite sets, implying $G$ is finite).  Then the Lemma above says such infinite $H_i$ has infinitely many cyclic subgroups, which implies also that $G$ does (since a cyclic subgroup of $H_i$ is a cyclic subgroup of $G$).  QED

Assumption (2) actually leads to a contradiction, but we haven't highlighted that.  Some authors would prefer to phrase the proof in those terms, but I wanted to emphasize keeping your structure of proof after pulling out the case where $G$ is infinite cyclic as a Lemma.
A: I think the contrapositive is much clearer:

If a group has finitely many subgroups, then the group is finite.

Indeed, let $G$ be a group with finitely many subgroups. Then $G$ has finitely many cyclic subgroups. An infinite cyclic group has infinitely many subgroups. Therefore, all cyclic subgroups of $G$ are finite. Finally, $G$ is finite because it is the union of its cyclic subgroups, which is a finite union of finite sets.
