Here are some choices suitable for killing by sword in a battle:
Thomas Johannem occidit.
(Tom cut John down, or Tom "felled" John—a very common way to express this.)
Thomas Johannem interfecit.
(Tom did John in—a common, generic way to say "killed" in Latin, regardless of how.)
Thomas Johannem obtruncavit.
(Tom killed John by cutting him apart.)
Thomas Johannem deiecit.
(Tom brought John down with a mortal wound.)
Thomas Johannem percussit.
(Tom killed John by thrusting a weapon through him; suggests great force, enough to get through armor. Suitable for an arrow as well as a sword.)
Thomas Johannem peregit.
(Tom ran John through—thrust through, piercing, not implying great force.)
For anyone wanting more options, this blog post by Carla Hurt lists a total of 33 Latin verbs for "kill", with details about each. A common one is neco, the root of the English word "internecine", but neco suggests killing without a weapon.
Who killed whom
Indicating who killed whom works differently in Latin than in English. Latin indicates this not by word order but by the "case" of the nouns—exactly like "who" and "whom" in English, but Latin does this on nearly all nouns. The nominative case indicates the killer, and the accusative case indicates who was killed. If John killed Tom, then you say:
Johannes Thoman occidit.
I've added links to web pages that show all the cases of each name.
Unlike English, Latin lets you rearrange the words in any order without changing the meaning. The word order creates different emphasis, which we usually indicate in English with intonation or additional words:
Thoman Johannes occidit.
(Regarding Tom, John killed him.)
Thoman occidit Johannes.
(Regarding Tom, the one who killed him was John.)
Johannes occidit Thoman.
(John killed someone—Tom.)
Occidit Thoman Johannes.
(The one who killed Tom was John.)
Occidit Johannes Thoman.
(The one whom John killed was Tom.)
If you don't want to deal with noun cases, you can stick with the prosaic word order of "Killer killee verb", as in all the examples in the first section above. Latin has to resort to this word order when dealing with foreign surnames that have no case-endings in Latin.