Buy your ticket from your local railway station, or your nearest staffed railway station. They will find you the cheapest available valid ticket for your journey. Valid is an important point because some of these online private companies will show you tickets that don't exist, or routes that are not valid, and so you would be travelling without a valid ticket and likely to be fined for ticket fraud if caught.
Also the likes of trainline will often offer 'cheaper' tickets but charge you for postage that makes it more expensive than buying from a person at your local station. The other big annoyance is that online tickets can only be collected from Mainline stations not from your local station. So you will be charged for a ticket from your local station to your nearest mainline station that has the facility to print out your ticket. You will then have to claim back from Trainline or whoever the cost of the ticket you had to buy or the fine you incurred travelling without a valid ticket.
Use your local staffed station, especially outside the busy times, and you are going to get the best deal available and be able to explore real cost cutting options like splitting your journey with seperate tickets..