Oman Air, Jet Airways, IndiGo, Air India, SpiceJet and Air India Express can be taken to reach Muscat from India. There are flights from Kerala (Kochi, Kozhikode and Thiruvanthapuram) that fly directly to Muscat. After you reach Muscat International Airport, you can either hire a cab, or rent a car and drive to Shannah. Alternatively, you could also take the bus to Shannah.
In order to reach Masirah, you will first have to fly to Muscat. The flight from India to Muscat takes around 3-4 hours depending on where you fly from.
After arriving in Muscat International Airport, you could rent a car or hire a cab to take you to Shannah from where you can catch a ferry to the island. The journey from Muscat to Shannah will take around 5 hours. If you are renting a car, you will need an International Driving Permit.
From nearby cities. Talk about connectivity, compare different services (if any)
Taking the bus is not a very feasible option, but if you wish to do so, there is a route 52 bus from Muscat that you can take. You will have to get off at the Sinaw station and take a cab from there to Shannah. However, the bus only leaves Muscat at 5:30 and you will probably reach Shannah around midnight. So you will have to wait until the next morning to take the ferry to Masirah Island.
The National Ferry Company operates regular vehicle ferries from Shannah and arives in Hilf Port. It takes about 1.5 hours to reach Hilf Port. The ferry runs four times a day from 9am to 6pm. It costs OMR 3 for an adult and OMR 1.5 for children (one way). If you want to bring your car, it wil cost OMR 16 for a normal car and OMR 20 for a four wheel drive.