This is often due to a <DIV> that has no matching </DIV>. Sometimes it's just a mechanical error - if you're writing your posts in HTML and haven't closed a <DIV>. But more often it is...
...more likely that there's a <DIV> at the start of your post, with a <!--more--> break in the middle of some post and a closing </DIV> way down at the end of that post. when displayed on a page, the <!--more--> causes a "more..." to be displayed but the closing </DIV> is never reached. This causes the sidebar (which in most themes is a floating DIV) to "move" into the post content and "float" at the bottom of the content rather than float on the right (or left) side of the overall page.
Also, if your page is showing "excerpts" this can cause the problem because the closing </DIV> is never reached if the excerpt is being created "automatically."
Best solution is, if possible, to remove the enclosing <DIV> </DIV> pair around the outside of the offending post, or to remove the "more..." break to test and verify that the problem is as I've described.