Jude Bellingham struck a second-half winner as Borussia Dortmund took all three points from a thrilling 2-1 victory at Eintracht Frankfurt.