Scheduling maintenance routing for an offshore wind farm is a challenging and complex task. The problem is to find the best routes for the Crew Transfer Vessels to maintain the turbines in order to minimise the total cost. This paper primarily proposes an efficient solution method to solve the deterministic maintenance routing problem in an offshore wind farm. The proposed solution method is based on the Large Neighbourhood Search metaheuristic. The efficiency of the proposed metaheuristic is validated against state of the art algorithms. The results obtained from the computational experiments validate the effectiveness of the proposed method. In addition, as the maintenance activities are affected by uncertain conditions, a simulation-based optimisation algorithm is developed to tackle these uncertainties. This algorithm benefits from the fast computational time and solution quality of the proposed metaheuristic, combined with Monte Carlo simulation. The uncertain factors considered include the travel time for a vessel to visit turbines, the required time to maintain a turbine, and the transfer time for technicians and equipment to a turbine. Moreover, the proposed simulation-based optimisation algorithm is devised to tackle unpredictable broken-down turbines. The performance of this algorithm is evaluated using a case study based on a reference wind farm scenario developed in the EU FP7 LEANWIND project.