DropSort it like it's hot
Haskell, 67 59 58 bytes



(q:r)!x|x&lt;last q=q:r!x|1&lt;2=(q++[x]):r
_!x=[[x]]
foldl(!)[]


Explanation: Given a list of lists (that are already sorted) and a value x, the ! operator will place x at the end of the first list whose last element is less than or equal to x. If no such list exists, the list [x] is placed at the end.

Try it online.