The aircraft was operating as Singapore Airlines flight SQ31A, enroute from Singapore to Melbourne, with an intermediate stop at Adelaide. On arrival in the Melbourne area the aircraft was vectored by Air Traffic Control (ATC) to a left base position for an approach to runway 34. At a point 5 nautical miles (9.2 kilometres) south of the airport, and 1 mile (1.7 kilometres) to the left of the extended centreline of the runway, the aircraft was instructed to turn left to take up a north-easterly heading. The crew reported at this time that "we have the field visual." The aircraft was then instructed to make a visual approach, and to turn further left for a direct approach to the runway. The crew acknowledged this instruction, but the aircraft was observed to pass through the extended centreline. ATC advised the aircraft that it was now to the right of the centreline, and instructed it to turn left onto a north-westerly heading to intercept this line. The aircraft landed without further incident. The Captain of the aircraft later advised that he was familiar with the Melbourne/Essendon area. Appropriate navigation aids had been selected to monitor the approach. The Captain reported that he had initially mistaken Essendon for Melbourne, because the latter had been obscured by rain and low clouds. However, the crew became suspicious when the navigation aids did not confirm the visual indications. They were in the process of correcting the situation when ATC instructed the aircraft to turn to the left as it had passed the extended centreline. The crew had then sighted the Melbourne runway complex and had proceeded visually. Recorded radar and communication data revealed that the aircraft had been instructed to turn towards the north-west 13 seconds after it had passed through the runway centreline. Less than one minute later the crew reported that the aircraft was intercepting the centreline. The maximum deviation from the centreline had been about 1.5 miles (2.8 kilometres). However, it was also apparent that ATC had given the instruction for the aircraft to make a visual approach at a point where it was almost inevitable that the aircraft would pass through the runway centreline. The minimum height reached by the aircraft during the excursion from the centreline was approximately 1000 feet above the ground. Conclusions. 1. The crew initially mis-identified Essendon Airport for Melbourne, because of cloud and rain in the area. 2. The tracking error was noted by ATC virtually as soon as the aircraft passed through the extended centreline of runway 34. Immediate corrective action was taken. 3. ATC had given tracking instructions such that the aircraft would have passed through the runway centreline regardlesss of the flight conditions. 4. The crew had realised the error in aerodrome identification at about the same time as ATC passed track correction instructions to the aircraft. 5. At no time was there a possibility of the aircraft landing at Essendon.