Here is a way which follows your original line of thought.
Assume that the metric space
is infinite. Now consider the set of isolated points of
, call it
. There are two options, either
is infinite or it is finite. Consider the case when
is infinite. If
then
is an open set in
. Now we can pick
to be an infinite subset of
such that
is infinite. To see that
is open, note that we can write
\begin{align*}
U = \cup_{x \in U} \{x\}
\end{align*}
and note that
is an open set in
for all
. Since the union of an arbitrary collection of open sets is open, we know that
must be open. Therefore, we have produced an open set
in
that is infinite and
is infinite.
Now consider the case where
is finite. Since all points
are either limit points or isolated points of
, then if the set of isolated points of
is finite, the set of limit points of
must be infinite since
is infinite. Pick two limit points
and
different from each other and set
. Consider the open ball
. By the definition of a limit point, there must exist a sequence eventually contained in
such that it converges to
. Likewise, there also must exist a sequence eventually contained in
such that it converges to
. We know that open balls are open sets, so we can define the open set
and we have just shown that
is infinite. We also know that
is infinite and
by construction. Thus,
is also infinite and we are done.