Jan Schlichtmann (John Travolta) is a lawyer who takes on the case of a town that has a higher than usual level of leukemia cases. Several people have died from it, and they believe that it's due to the local tannery polluting the water. Jan and his law firm file a class action suit on behalf of the townspeople against the two large corporations that own the tannery. The townspeople don't care about money; they just want the area cleaned up and an apology. But Jan took the case believing that it will earn him millions and make a name for his firm.
The firm spends millions of dollars financing the case, which sends it and Jan's partners into near financial ruin. Believing that this case is about more than the money, Jan goes against the wishes of his partners and turns down several settlement offers, and wants to take the case to court. The case doesn't going well, and the suit against one of the defendants is dismissed. Ultimately, Jan accepts a settlement from the other defendant that barely covers their expenses and is much less than originally offered. The firm, unhappy that he nearly bankrupted them, fires Jan. The townspeople are also unhappy with Jan, because the settlement does not include an apology nor the promise to clean up the mess.
Now working by himself in a small rented office, Jan eventually finds discrepancies in the testimony that would allow for an appeal. Because he is nearly bankrupt and doesn't have the stomach to fight the tannery's lawyers again, Jan forwards all of the case files to the Environmental Protection Agency. The EPA files charges against the tannery's owners, and a much higher settlement is eventually offered and accepted, which included an apology and cleanup. At the end, it's revealed that it took Jan several years to pay off all of his debts, and he has since taken another polluted water case.