We study a single trade ship routing and scheduling problem for a roll-on roll-off shipping company. Alongthe given trade, there is a number of contracts for transportation of cargoes between port pairs. Each contractstates a minimum service frequency where the services should be evenly separated in time and possibly transittime requirements. Current planning practice is to visit all ports along the trade every time it is serviced. Here,we aim instead at determining the sailing route and schedule of each voyage along the trade, i.e., which portsto visit when, which contracts to serve, and the sailing speeds, so that all contract requirements are satisfied atminimum cost. To solve this problem, we have developed a three-phase MIP-based heuristic, where each phaseconsists of solving dedicated a mixed-integer programming (MIP) model. The heuristic constructs solutions byfirst identifying the most promising candidate routes along the trade. Next, a candidate route is allocated toeach available vessel. Finally, the heuristic determines the allocation of cargoes between the vessels, as wellas sailing speeds and arrival times. Computational tests show that the heuristic outperforms a commercialMIP-solver and provides high-quality solutions to realistically sized instances in reasonable time