The great news is that, as of 1st July 2015, all calls to 0800 numbers from mobile phones are free. Prior to this, consumers may have paid up to 21p per minute to call an 0800 number from their mobile phone. This move, which also includes 0808 and 116 numbers, was bought in by Ofcom (the UK telecommunications regulator) in a move to minimise the confusion that often arises when calling commercial phone numbers.
The above applies to all consumer mobile phones being used in the United Kingdom, regardless of the network provider. It is important to note however that if a mobile phone is used to call an 0800 number from abroad then a coat will be incurred. This cost can be variable and will depend on both where the call is made from and which network provider is used for the mobile phone.
The only variation to the above is that network providers still have a degree of autonomy on what they decide to charge business mobile phones for calls. Whilst most now do honour the 0800 prefix as a free phone number, it is worth confirming this with your provider.