I think this is controlled by the variable org-blank-before-new-entry. As per the Org documentation:
Should org-insert-heading leave a blank line before new heading/item?
  The value is an alist, with heading and plain-list-item as CAR,
  and a boolean flag as CDR.  The cdr may also be the symbol `auto', in
  which case Org will look at the surrounding headings/items and try to
  make an intelligent decision whether to insert a blank line or not.
For plain lists, if org-list-empty-line-terminates-plain-lists is set,
  the setting here is ignored and no empty line is inserted to avoid breaking
  the list structure.
The default value is '((heading . auto) (plain-list-item . auto)), so it normally will insert a newline before a heading (the auto part in the heading). You can specify Never when you customize the variable, and it will not insert a newline.