If the 500 error is coming from your own site, you should be able to address the problem by looking in the server's error log. 500 errors are produced any time something happens that the web server is not expecting. It is unusual to see a 500 error with the full content of the page, but it is not unheard of. The server log will have the cause of the error recorded for each page request.
If the 500 error is only through Cloudflare, there is a support page you should know about:
HTTP errors in the 500 range, indicate that CloudFlare or your web server experienced an internal error. Unfortunately, the Google Webmaster Tools Health Dashboard provides a limited diagnostic view into these kinds of errors. If your web server is producing errors in the 500 range, it can be challenging to isolate these errors from errors that CloudFlare may be producing. It's very important to report these errors to CloudFlare as soon as they are detected. CloudFlare stores 7 days of error logs and Customer Support will have limited ability to troubleshoot if too much time has elapsed since the error occurred. The best solution is to monitor the health of your web server to help correlate dates of any outages with dates of errors.