Transesterification of palm olein with glycerol can increase the functionality by introducing additional hydroxyl groups to the triglyceride structure, an advantage compared to using palm olein directly as feedstock for producing palm-based polyol. The objective of this study was to synthesize transesterified palm olein-based polyol via a three-step reaction: (1) transesterification of palm olein, (2) epoxidation and (3) epoxide ring opening. Transesterification of palm olein yielded approximately 78 % monoglyceride and has an hydroxyl value of approximately 164 mg KOH g(-1). The effect of formic acid and hydrogen peroxide concentrations on the epoxidation reaction was studied. The relationships between epoxide ring-opening reaction time and residual oxirane oxygen content and hydroxyl value were monitored. The synthesized transesterified palm olein-based polyol has hydroxyl value between 300 and 330 mg KOH g(-1) and average molecular weight between 1,000 and 1,100 Da. On the basis of the hydroxyl value and average molecular weight of the polyol, the transesterified palm olein-based polyol is suitable for producing rigid polyurethane foam, which can be designed to exhibit desirable properties. Rigid polyurethane foams were synthesized by substituting a portion of petroleum-based polyol with the transesterified palm olein-based polyol. It was observed that by increasing the amount of transesterified palm olein-based polyol, the core density and compressive strength were reduced but at the same time the insulation properties of the rigid polyurethane foam were improved.