Heat 2 quarts water in a large pot over high heat until boiling. Add kosher salt, baking soda, potatoes and stir. Simmer, for 10-15 minutes or until a knife meets little resistance when inserted into a potato chunk.
Meanwhile, cook olive oil, butter and onions over medium heat for three minutes. Add garlic and ginger and cook for another minute, constantly stirring and shaking pan. Now add spices, cook for 2 minutes. Immediately strain oil through a fine-mesh strainer into a large bowl. Set onion mixture aside and reserve separately.
Drain cooked potatoes in a colander, then place in bowl with the reserved oil. Shake the bowl back and forth a few times to coat the potatoes and fluff up the edges.
Transfer potatoes to a baking sheet or cast iron skillet, spreading them out evenly. Place in oven and roast for 20 minutes without moving. Turn and shake the potatoes a few times during cooking, 30 to 40 minutes longer. Roast until they are golden brown and crisp all over.
Transfer potatoes to a large bowl and add onion mixture, tomatoes and cilantro. Toss to coat and season with more salt and pepper to taste. Serve with a dipping sauce.