If you're not a temporary or permanent resident of Mexico, most banks won't open an account for you. Mexican law has more restrictions on banking for foreigners than some other countries, and most banks won't work with people on a tourist visa alone. If you don't have a CURP (national ID number), their system doesn't know what to do.
Mexican banking on a tourist visa
Scotiabank is the current option, with it's new Bank Account for Non-Resident Foreigners. We have no experience with the bank but can share that this kind of setup did not exist before - the bank is specifically allowing tourist visas and has a map of bilingual branches and a phone number for English support.
OXXO Spin is a potentially faster option. OXXO issues a debit card with an accompanying full-service app for transfers and more. The monthly deposit limits are low so this is a good starter account. We've heard stories about new arrivals successfully opening a card. Ask at any OXXO.
Getting money in and out

Once you have a local account, you'll want to fund it from abroad. Most people will be able to accomplish this instantly with Wise (formerly TransferWise). You get near-instant multi-currency movement between your home account and your new Mexican account, with very favorable foreign exchange spreads. Never send a bank wire if you can avoid it - they tend to charge 6-8% commission in the rate spread on top of high flat fees.
Another app that has had explosive growth is DolarApp and we highly recommend it for USD/MXN operations. You need to be a Mexican resident for this one. With DolarApp you get instant transfers, a free debit card, and new account numbers in the US and Mexico. This means you can use ACH from a US bank account to send money for free to DolarApp. From there you can spend it with the card, or send it via SPEI to any Mexican account (SPEI is the national instant bank transfer system, faster than ACH in the US).
ATM Hacks
Many foreigners start by not opening an account at all, and use their home debit card to take out cash at ATM for paying rent. In fact if you open a Wise account you can send transfers to Mexican accounts, so why bother opening a Mexican account at all? Customer service and fraud handling will probably be better at home anyway. This is a perfectly fine strategy that can work for years. It's inconvenient because daily withdraw limits per bank vary from 8-12k MXN: if you're trying to pay Mexico City rent you will need to hit up several ATMs.
Rule # 1 - never get cash with a foreign card at a BBVA ATM. It's tempting because they have the largest network, but they also have exorbitant fees. Only use them if you must.
Rule #2 - Always decline the conversion rate if asked. Santander, HSBC, and Banorte ATMs will ask you two questions when you do a withdrawal: (1) do you accept the flat fee - yes, and (2) do you accept the foreign exchange currency conversion - NO! They will take an 8.5% markup. You can decline the conversion and still get cash: your home bank will do that conversion for you, keeping more money in your home account while you get the same peso withdrawal. You'll know what your bank ultimately charged you when you check the amount deducted from your home bank app vs. how many pesos you withdrew.
Rule #3 - If you are a US Citizen, get a Charles Schwab checking account for ATM fee reimbursements. This is a tried-and-true strategy. Each month all flat ATM fees are returned to you. Schwab is excellent if your card is lost or stolen - they will ship you a replacement anywhere in the world for free. If you plan to deposit over 25k USD in a new account please contact us; we will send you a unique referral code that triggers a $100 USD welcome gift for coming in by referral.
Current ATM fees in Mexico, starting with the cheapest:
(The fees are the tip of the iceberg; the hidden and high cost is in the spread markup)
Inbursa: 22.04 pesos
BanBajio: 23.20 pesos
Banca Mifel: 26.68 pesos
BanCoppel: 29 pesos
Banamex: 30.74 pesos
Santander: 34.80 pesos
Banorte: 58.00 pesos
Multiva: 67.28 pesos
HSBC: 74.24 pesos
Banregio: 81.20 pesos
Banco Azteca: 115 pesos
Intercam: 116 pesos
Afirme: 162.40 pesos
BBVA: 197.20 pesos