I have reproduced a simple example, which shows my spacing problem. Description: The page is completely filled with text, only 1-2 words go over to the next page, despite it looks as if there was enough room on the previous page left. How can I solve this? I realized one solution is \vspace*{-x pt}, but I don't know if it is ideal. I believe many of you faced this case before. What is the correct way to deal with it?
MWE:
\documentclass[a4paper, 12pt, headsepline]{scrreprt}
\usepackage[onehalfspacing]{setspace}
\usepackage{amsmath, amssymb, mathtools}
\usepackage{mathptmx}
\usepackage[a4paper,showframe]{geometry}
\geometry{left=2cm,right=5cm,top=2cm,bottom=2cm}
% \usepackage{lipsum} %\lipsum
\usepackage[pangram]{blindtext}
\begin{document}
\Blindtext[1][4]%1 paragraph, 3 pangrams
Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem
% \vspace*{-1pt}
\end{document}
If you uncomment the line \vspace*{-1pt}, you will see that it works. But I am not sure if this is harmless or the best way.
Edit: I need to keep the geometry values, so if possible, the solution should remain them as they are.
Thanks.

\enlargethispage{\baselineskip}, which will allow at least one more line on that specific page (somewhat similar to your\vspaceinternally reducing the amount of content on the page). Possible duplicate: Squeeze some more lines on the current page (or similar Enlarge a single page). – Werner Jan 09 '14 at 22:25\vspace*? – TomM Jan 09 '14 at 22:27\enlargethispage{\baselineskip}, but you could also use\enlargethispage{1pt}, which works. The reason for your problem stems from the fact that\textheight(as specified indirectly through the measurements ingeometry) is not a factor of\baselineskip. It seems like your just under1ptshort of fitting 41 lines on a page. You could marginally adjust the value of\baselineskip, perhaps. – Werner Jan 09 '14 at 22:32heightroundedin the options togeometry, the package will make as small as possible a change to the requested text height so as to accommodate an integer number of lines. With your setting you get\textheight=731.23584pt, withheightroundedit will be\textheight=731.77844pt(which nobody would notice). – egreg Jan 09 '14 at 22:34heightroundedthen? – TomM Jan 09 '14 at 22:38