Malcolm Summers had a 43-yard touchdown run with 6:09 left to seal it for Elon. Summers scored two plays after Elon's defense stuffed Stony Brook's Tyler Fredericks for no gain on a fourth-and-one run at the Phoenix's 47.
Thompson was 10 of 14 for 106 yards and Christiansen was 6 of 7 for 96 yards for Elon (3-5, 2-3 Colonial Athletic Association).
Elon's defense stymied the Seawolves' offense for most of the game, intercepting Joe Carbone four times.
Carbone finished 18 for 41 for 142 yards for Stony Brook (2-5, 1-5).
Elon led 7-0 when Christiansen connected with Demetrius Oliver on a 50-yard pass. Donald Liotine tied it with a 1-yard run before Thompson hit Jon Thomas from 24 yards out to give Elon the lead for good.