A bio-oil production process involving torrefaction pretreatment, catalytic esterification, pyrolysis, and secondary catalytic processing significantly reduces yields of reactor char, catalyst coke, and catalyst tar relative to the best-case conditions using non-torrefied feedstock. The reduction in coke as a result of torrefaction was 28.5% relative to the respective control for slow pyrolysis bio-oil upgrading. In fast pyrolysis bio-oil processing, the greatest reduction in coke was 34.9%. Torrefaction at 275.degree. C. reduced levels of acid products including acetic acid and formic acid in the bio-oil, which reduced catalyst coking and increased catalyst effectiveness and aromatic hydrocarbon yields in the upgraded oils. The process of bio-oil generation further comprises a catalytic esterification of acids and aldehydes to generate such as ethyl levulinate from lignified biomass feedstock.