In order to get to Portugal, you need to obtain a Schengen visa for the duration of your stay in the country and purchase an air ticket to the desired city. You can also get to this country from neighboring Spain.

Instructions
Step 1
Book a non-stop flight from Moscow to Lisbon. Such flights are operated by TAP Portugal aircrafts. The flight duration is 5 hours 35 minutes. Please note that the airline often organizes promotions and provides substantial discounts when buying round-trip tickets. You can order a ticket on the airline's website. For convenience, select the region in which you live.
Step 2
Travel to Lisbon from Moscow by air with one stopover. You can choose a flight from one of the many European airlines, for example, Ukraine International Airlines, Turkish Airlines, Royal Air Maroc, Brussels Airlines, Swiss Airlines, Air France, Austrian Airlines, LOT - Polish Airlines. The cost of such a trip may be lower than when choosing a non-stop option, but the flight duration is higher and ranges from 8 hours, the fastest option is offered by Swiss Airlines.
Step 3
Keep in mind that the cheapest option to get to Portugal is to fly to a Spanish airport and then use ground transportation. The best option is to travel through Madrid. You can fly there by Aeroflot, Siberia Airlines (S7 Airlines), Air Europa Lineas Aereas, Iberia - these companies operate non-stop flights, there are also many options to fly to the capital of Spain with one stopover. In Madrid, you can buy a Madrid-Lisbon train ticket or use the bus service between these cities. You can also rent a car at the Rent a car point.
Step 4
Purchase an air ticket to Porto, 280 km north of the Portuguese capital. There are no non-stop flights to this city, flights with one stopover are offered by Brussels Airlines, Swiss Airlines, AllItalia, Iberia, LuftHansa, carriers are listed in ascending order of ticket price.