[update: 2019/12/21] Another option is https://www.kayak.com/flights, which is also useful to find cheapest flight.
I booked a direct flight (non-stop) from San Francisco to Beijing for my father last October. The cost is ~$300. It’s fairly cheap.
The tool I used was https://matrix.itasoftware.com/. If your departure date can be flexible, this website will give you the price on a range of days. Then I would pick up the cheapest date, and view details such as airline names/time.
You can’t book tickets on this website directly; but with the names of airlines you can go to the website of airlines and book there.