In addition to the truth table method described by André, there is also a syntactical approach:
First push the negations down to the leaves of the syntax tree using De Morgan's laws and double-negation elminiation.
Then float the disjunctions to the top using the distributive law $a\land(b\lor c)=(a\land b)\lor(a\land c)$.
This will often create shorter DNF's -- but there is still a risk of exponential blowup, of course.,