Let $A\subseteq\mathbb{R}$ be a non-empty bounded set - actually it is needed to be bounded from above only. Then, the set $B=\overline{A}$, which is the closure of $A$, is a closed and bounded set which, by Heine-Borel theorem means that $B$ is compact and, hence, due to compactness' definition, every open cover of $B$ has a finite sub-cover. We now need to find a "proper" open cover of $B$.
To avoid any topological reference - well, at least as much as we can - we will first show that:
$$\mbox{Heine-Borel Theorem}\Rightarrow\mbox{Cantor's Completeness Principle}$$
Let us, at first, remember Cantor's Completeness Principle:
Let $I=[a,b]$ be an interval in $\mathbb{R}$ and let $a_n,b_n\in I$, $n\in\mathbb{N}$, such that:
$a_n<b_n$ and $I_n=[a_n,b_n]$,
$b_n-a_n\to0$,
$I_n\subseteq I_{n-1}\subseteq\dots\subseteq[a,b]$ for every $n\in\mathbb{N}$.
Then, $$\bigcap_{n=1}^\infty I_n\neq\varnothing$$
and, especially, there exist a $c\in I$ such that:
$$\bigcap_{n=1}^\infty I_n=\{c\}$$
So, let $I=[a,b]$ and $I_n=[a_n,b_n]$ as supposed above. We will show, given the truth of Heine-Borel Theorem, that $\bigcap_{n=1}^\infty I_n=\{c\}$.
At first, it is evident that, if $\bigcap_{n=1}^\infty I_n\neq\varnothing$ then it cannot contain more than one elements, since, let $c,d\in \bigcap_{m=1}^\infty I_m\subseteq I_n$ for every $n\in\mathbb{N}$. Then, $\{c,d\}\subseteq I_n=[a_n,b_n]$ for every $n\in\mathbb{N}$, so:
$$|c-d|<b_n-a_n\to0\Rightarrow|c-d|=0\Rightarrow c-d=0\Rightarrow c=d$$
So, it remains to prove that $\bigcap_{n=1}^\infty I_n\neq\varnothing$.
For this purpose, let us suppose that $\bigcap_{n=1}^\infty=\varnothing$, and let $$V_n=\mathbb{R}\setminus I_n$$
Now, note that:
$$\bigcup_{n=1}^\infty V_n=\bigcup_{n=1}^\infty\mathbb{R}\setminus I_n=\mathbb{R}\setminus\bigcap_{n=1}^\infty I_n=\mathbb{R}\setminus\varnothing=\mathbb{R}$$
So, $\mathcal{V}=\{V_n:n\mathbb{N}\}$ is an open cover of $\mathbb{R}$ and, as a result, of $[a,b]$. Since $[a,b]$ is close and bounded, from Heine-Borel Theorem, we have that $[a,b]$ is compact and, as a result, there exist a finite sub-cover of $\mathcal{V}$, let:
$$\mathcal{U}=\{V_{n_k}:k=1,2,\dots,m\}$$
So, we have:
$$[a,b]=\bigcup_{k=1}^mV_{n_k}=V_{n_m}$$
since $V_{n}$ is an increasing sequence of sets - as long as $I_n$ is decreasing. But
$$V_{n_m}=(-\infty,a_{n_m})\cup(b_{n_m},+\infty)$$
and, this is crearly not a cover of $[a,b]$, since, for instance $\frac{a_{n_m}+b_{n_m}}{2}\not\in V_{n_m}$, which leads to a contradiction.
So, we have proved that:
$$\mbox{Heine-Borel Theorem}\Rightarrow\mbox{Cantor's Completeness Principle}$$
Now, we weill prove that:
$$\mbox{Cantor's Completeness Principle}\Rightarrow\mbox{Completeness Principle}$$
For this purpose, let us consider a non-empty set $A\subseteq\mathbb{R}$ which is bounded from above. Then, since $A$ is non-empty, there exists an $a\in A$ and, due to boundedness, there exists a $x\in\mathbb{R}$ such that:
$$y\leq x\mbox{, for every }y\in A$$
If, $x=a$ or $x\in A$, we have nothing to prove, since $x$ is the wanted lesser upper bound. Let us then suppose that $a<x$. Then, if there exists an element of $A$, let $y_1$, such that:
$$y_1>\frac{a+x}{2}$$
we set $$a_1=\frac{a+x}{2}\mbox{ and }b_1=x$$
In any other case, we set:
$$a_1=a\mbox{ and }b_1=\frac{a+x}{2}$$
Then, if there exist a $y_2\in A$ such that $$y_2>\frac{a_1+b_1}{2}$$
we set
$$a_2=\frac{a_1+b_1}{2}\mbox{ and }b_2=b_1$$
In any other case, we set:
$$a_2=a_1\mbox{ and }b_2=\frac{a_1+b_1}{2}$$
In this way we can define, by induction, a sequence of closed intervals $I_n=[a_n,b_n]$, such that:
- $b_n-a_n=\frac{x-a}{2^{n+1}}\to0$,
- $I_n\subseteq I_{n-1}\subseteq\dots\subseteq[a,x]$
Now, from Cantor's Completeness Principle, there exists a $c\in[a,b]$:
$$\bigcap_{n=1}^\infty I_n=\{c\}$$
Now, it is evident by $I_n$'s construction that for every $n\in\mathbb{N}$, $b_n$ is a bound of $A$ and $I_n\cap A\neq\varnothing$, so, $c$ is trully $A$'s lesser upper bound since:
$$a_n\nearrow c\mbox{ and }b_n\searrow c$$