TNT can be lit by fire.
TNT ignited by fire
Lightning striking on the ground at Medium difficulties and up causes short-lived fires which may be able to trigger an explosions. I haven't been able to test whether lightning directly striking a TNT on Easy or Peaceful will still trigger the explosion.
Lava also causes TNT to ignite as the TNT catches fire because of the Lava. So does lightning if it strikes your TNT, it also causes the TNT to catch fire and it will eventually ignite.
TNT can also be ignited by a Redstone Pulse send out by a Redstone Torch, Button, Lever, Pressure Plate or Detector Rail. This is also the most common and safest method as it doesn't accidentally burn any flammable materials near you.
TNT can also be lit by left clicking it while holding flint-and-steel. This will not start a fire, but will instead directly ignite the TNT. Note that this currently doesn't work inIn creative mode you must use right-click, asotherwise the block is destroyed on click.
Another source of TNT triggering is explosions. TNT can trigger more TNT, as well as creepers, ghasts or exploding beds in the nether.