
How to Replace Spark Plugs on BMW B58 - M340i, M240i DIY
The B58 is BMW's current turbocharged inline-six and, in my opinion, the best production engine they have built since the S54. It is responsive, reliable, and it makes serious power even in stock form. The M340i, M240i, Z4 M40i, and the Toyota Supra GR all run the B58, and I see all of them regularly. This is a modern engine with modern tolerances, and it rewards careful maintenance. The spark plug job itself is straightforward, but there are some differences from the older N54 and N55 that are worth knowing before you start wrenching.

BMW rates the B58 spark plug interval at 60,000 miles. For a completely stock car that sees normal street use, that interval is achievable. But I want to be honest with you - I have pulled 60,000-mile B58 plugs that looked rough. The electrode wear was measurable and the gaps were borderline. For anything with a tune, Stage 1 or above, I recommend 30,000 miles as the maximum interval. The B58 responds extremely well to tuning and a lot of owners are running more boost than stock within months of buying the car. More boost means more combustion heat means faster plug wear.
I also get a lot of Toyota GR Supra owners in my shop. The Supra's A90 uses the B58 with BMW's spark plug spec. The procedure is nearly identical to the G20 M340i, with minor differences in engine cover removal and routing around the Toyota-specific intake plumbing. The plug specs are the same. If you are a Supra owner reading this, everything here applies to your car with minimal adaptation.
25 Nm (18 ft-lb)
Torque Spec
0.028 in (0.7 mm)
Plug Gap
30,000 miles (tuned) / 60,000 miles (stock)
Service Interval
45-60 min
Time to Complete
6
Number of Plugs
G20, G22, G29, A90 (Supra)
Compatible Chassis
B58 Spark Plug Part Numbers and Heat Range Selection
The B58 uses the NGK ILZKAR7H11 as the stock replacement plug. This is an iridium plug with a fine wire center electrode and a pre-set gap of 0.028 inches. BMW's OEM part number varies by market, but NGK ILZKAR7H11 is the universally correct cross-reference that I use in my shop. Buy genuine NGK - there are counterfeits on Amazon. Order from a reputable BMW parts supplier or directly from an NGK-authorized dealer. The price difference between genuine and fake is small, but a fake NGK in a B58 is a false economy.
For tuned B58 cars - Stage 1 maps are so common now that almost every M340i I see has one - I recommend stepping one heat range colder to the NGK ILZKAR8H11. The "8" versus "7" in the part number indicates the heat range, with higher numbers being colder. One step colder is the right move for any map that increases boost above stock, which is essentially all of them. For aggressive Stage 2 tunes or E30/E40 ethanol blends, stick with the ILZKAR8H11 and consider shortening the interval to 20,000 miles.
| Application | NGK Part Number | Heat Range | Gap | Torque |
|---|---|---|---|---|
| B58 Stock / Stage 1 light | NGK ILZKAR7H11 | 7 (stock) | 0.028 in / 0.7 mm | 25 Nm |
| B58 Stage 1 aggressive / Stage 2 | NGK ILZKAR8H11 | 8 (one colder) | 0.028 in / 0.7 mm | 25 Nm |
| B58 Track / E30+ | NGK ILZKAR8H11 | 8 (one colder) | 0.024 in / 0.6 mm | 25 Nm |
Torque spec for the B58 is 25 Nm. This is different from both the N54 (23 Nm) and the N55 (28 Nm). The B58 cylinder head has updated thread specifications compared to the older engines. Do not estimate - torque wrench every plug. And again, no anti-seize on iridium plug threads. The nickel coating on NGK plugs is sufficient and anti-seize on these plugs causes under-torquing at the specified value.
Tools Required and Preparation
The tool list for the B58 is the same as the N54 and N55 with one addition. You need a 14mm thin-wall spark plug socket, 3/8" ratchet with a 6-inch extension, torque wrench in Nm, dielectric grease, and a flathead screwdriver or trim tool for the engine cover clips. On the G20 specifically, the engine cover has a slightly different retention system than the F30 - it uses a combination of push-pin clips and a friction fit over rubber mounts. Lift straight up with both hands and it comes free.
The B58's engine bay is notably cleaner than the older turbocharged six-cylinders. BMW did a good job with packaging on this generation - the intake manifold sits cleanly behind the coil packs and there is good clearance for socket access. On the G20 M340i, I have never needed to remove any ancillary components to reach all six plugs. The Z4 is similarly accessible from the top. The F90/G80/G82 applications (B58-adjacent S58) have slightly different access but the B58 itself in coupe and convertible form is clean.
Step-by-Step B58 Spark Plug Replacement
Cold engine - this is always the starting point on any spark plug job and the B58 is no exception. Aluminum threads and steel plugs have different thermal expansion coefficients, and torquing to spec on a warm engine does not give you the same clamping force as torquing on a cold engine. Let it sit overnight, or at minimum four hours after the last drive.
Remove the engine cover by grasping it at the front and lifting firmly upward. The G20 cover clips over rubber mounts and requires a bit of force on the initial pop - this is normal. Set it aside on a clean surface where it will not get scratched. You are now looking at the B58's top end - the aluminum valve cover is prominent, with six coil packs in line along its length.
Disconnect the electrical connector on cylinder 1's coil pack. Press the tab on the connector and pull straight rearward. Grasp the coil body and pull straight upward. The B58's coil boot fit is firm but smooth - it comes out with steady upward pressure. Do not wiggle or twist aggressively as you can damage the boot seal.
Insert the 14mm thin-wall socket into the plug well on a 6-inch extension. Seat it squarely on the plug and break it loose counterclockwise. The first plug is always the most telling - if it requires excessive force to break loose, the plugs have been in there too long and you may want to apply a small amount of penetrating oil and wait 10 minutes before continuing. On properly maintained B58s this is rarely needed, but on a first plug change on an older car it can happen.
Spin the plug out by hand for the last several turns and pull it carefully from the well. Inspect the firing tip - healthy combustion leaves a light tan deposit. Rich conditions leave black, sooty deposits. Lean conditions leave white chalky deposits. Measure the electrode gap if you are curious - you will often see gaps above 0.035 inches on 60,000-mile plugs, confirming the wear.
Thread the new NGK plug in by hand - completely by hand until it stops. Then torque to 25 Nm. Apply dielectric grease thinly inside the coil boot. Reinstall the coil and move to the next cylinder. Work front to back or back to front - it does not matter, just be consistent and do not skip any.
Coil Pack Replacement on the B58 - What I Recommend
The B58 coil packs are generally more reliable than the N54 and N55 units. BMW improved the design with the B-series engines, and coil failure on stock or mildly modified B58s is not common below 80,000 miles. That said, on heavily tuned cars - especially those running high-boost Stage 2 maps - the coils see elevated electrical demand and heat, and failure does occur.
My practice on B58 plug jobs: inspect each coil boot as you remove it. Look for cracks, ozone damage (a white powdery residue), or oil contamination. If any coil shows damage, replace it. If the car is above 80,000 miles or has been heavily tuned, I suggest doing all six coils preventatively. The cost is manageable and you avoid the annoyance of a coil failure mid-season. Genuine BMW coils are expensive; I use quality aftermarket units from Delphi or NGK that have proven reliable in my shop.
One B58-specific coil note: on early production G29 Z4s and A90 Supras, there were some reports of coil pack failures at relatively low mileage, potentially related to the higher stock boost level on those applications. If you have a Z4 M40i or GR Supra and you are changing plugs, I would proactively replace the coil packs regardless of mileage. The cost is a few hundred dollars and the peace of mind is worth it, especially on a sports car that gets driven hard.

Tuned B58 Plug Intervals - What I Actually See in the Shop
The B58 tuning scene is extremely active right now. MHD, BM3, and various custom tune options have made it trivially easy to run Stage 1 and Stage 2 power levels on these cars. I have pulled B58 plugs from Stage 2 cars at 35,000 miles that were noticeably worn - the iridium tip had eroded, the gap was above 0.035 inches, and the deposits on the firing end suggested the plugs had been working hard.
The correlation I have observed: every 10,000 miles above the recommended interval on a tuned B58, you are risking detectable power loss from misfiring ignition events, increased coil pack stress from the wider gap requiring more energy to fire, and on aggressive tunes, potential for lean misfire under high boost that causes combustion abnormalities. None of this is catastrophic in the short term, but it adds up. For a $40-50 set of plugs, the risk versus reward of extended intervals just does not make sense.
My recommended B58 intervals: stock, 60,000 miles is fine. Stage 1 map, 40,000 miles. Stage 2 on 98 octane, 30,000 miles. Stage 2 on E30 blend, 20,000-25,000 miles. Track days add 5,000 miles of wear for every track event in my estimation - so if you are doing 2-3 track days per season, knock 15,000 miles off whatever your street interval would be.
Post-Install and Clearing Codes
Once all six plugs are done and coils are reseated, reinstall the engine cover. Start the engine and let it idle. The B58 should idle very smoothly - any stumble suggests a coil not fully seated or a plug not threaded correctly. Rev it gently to 3,000 RPM a few times to start seating the new plugs. Then take it for a normal drive, including some hard acceleration above 4,000 RPM to properly seat the new plugs under load.
If you had any stored misfire codes before the plug change, clear them with your scan tool after the job and monitor for recurrence. On B58 cars, I use an OBD2 scanner to verify no new fault codes appear after the first drive. The Vgate VLinker BM handles BMW-specific codes well and connects via Bluetooth to your phone. For more on the B58 specifically, see our article on what BMWs have the B58 engine, the G20 3 Series model page, and our complete ignition guide.
B58 Timing Chain and Combined Maintenance
One thing I always check when doing a B58 plug change is the timing chain tension. The B58 does not have the catastrophic timing chain issues that plagued the N20, but early production B58 engines (2016-2017 production dates) did show some timing chain elongation at higher mileage. The tensioner on the B58 is improved over the N20, but it is still worth noting the condition of any cold-start chain rattle before and after the plug change. If you hear rattle for more than a second on a cold start before the job, that is worth investigating separately from the ignition work.
While you have the engine cover off for the plug change, take 5 minutes to inspect the oil filler cap area and the top of the valve cover for any oil weeping. The B58 valve cover gasket is generally reliable but not immune to failure on cars with high mileage. Any oil film around the perimeter of the valve cover or at the coil pack wells suggests the gasket is beginning to weep. Address it before it contaminates your new plugs. A B58 valve cover gasket is roughly a 3-hour job and the gasket itself costs $40-60 at dealer prices - manageable and worth doing proactively if you see the early signs.
Using an OBD2 Scanner Before and After B58 Plug Changes
I always pull fault codes on a B58 before starting a plug job. On modern BMW engines, the DME logs misfire data with specific cylinder identification, and reviewing that data before starting tells me whether I am dealing with a straightforward wear-related plug change or whether there is a specific cylinder that has been misfiring more than others. A cylinder that has been misfiring consistently while others have not is a flag to inspect that coil more carefully and potentially check the injector on that cylinder as well.
After the job, I clear the fault codes and do a test drive, then pull codes again to confirm the misfires are resolved. On the B58 specifically, it is worth monitoring the long-term fuel trim (LTFT) values after the plug change. If the engine was compensating for misfires with fuel trim adjustments, those trim values should return toward zero over a few drive cycles once the ignition is properly firing. If the fuel trim corrections persist after fresh plugs, there may be a separate fueling issue worth investigating - HPFP output, injector spray pattern, or a vacuum leak.




For B58-specific diagnostics, the Vgate VLinker BM handles the communication protocol used on G-chassis BMWs and gives you access to the same data points the dealer uses. Paired with a smartphone app like Bimmercode or xHP, you can monitor live data including knock sensor activity, ignition timing, and individual cylinder misfire counts - invaluable for verifying the health of your ignition system post-install. See our full spark plugs and ignition guide for more on diagnostics and ignition system maintenance across the BMW range.

