The Proto-Indo-European root was *h₁ed- "to bite". This became Proto-Germanic *etan "to eat", Old English etan, then English eat. I assume that ate would be ultimately derived from the o-grade form *h₁od-.
The present participle was formed by adding *-ent- to the zero-grade form, so *h₁d-ent- "biting". The o-grade form of this, *h₁d-ont-, became Proto-Germanic *tanþuz, Old English tōþ, then English tooth. The form *h₁d-ent- became Latin dēns, dentis "tooth", and English dental.
The above is from Watkins. As I see it, the problem is that the initial laryngeal *h₁ should produce Greek *edontos instead of the attested ὀδόντος odontos "tooth". (Compare ἐννέα ennea from *h₁newn̥ "nine".) To get the initial Greek ὀ, we must assume the o-colouring laryngeal h₃ (compare ὀρέγω from *h₃reǵ-). But h₃ would yield something like English *at or *et, not eat. (as in erne from *h₃er-.)