First of all, let's get rid of infinities: a function can tend to \pm\infty either at the extreme points of its domain or because of some vertical asymptote.
So, you should first of all check
lim_{x \to x_0} f(x)
for every point x_0 at the boundary of the domain. For example, if the domain is (-\infty,\infty), you should check
lim_{x \to \pm\infty} f(x)
If the domain is like \mathbb{R}\setminus{2} you should check
lim_{x \to \pm\infty} f(x),\qquad lim_{x \to 2^\pm} f(x)
and so on. If any of these limits is -\infty, the function has no finite lower bound.
Else, you can check the derivative: when you set f'(x)=0, you will find points of maximum of minimum. For every x which solves f'(x)=0, you should compute f''(x). If f''(x)>0, the point is indeed a minumum.
Now, in the most general case, you have a collection of points x_1,...,x_n such that
f'(x_i)=0,\qquad f''(x_i)>0 for every i=1,.., n
Which means that they are all local minima of your function. The lower bound of the function, i.e. the global minimum, will be the smallest image of those points: you just need to compare
f(x_1), ..., f(x_n), and choose the smallest one.