The US officially has three parties: Democratic, Republican, and American Independent. But functionally the Democrats are so big tent that it's hard to truly call them a political party. The GOP is socially libertarian and economically conservative. The AIP is economically populist, socially conservative, and nativist. The Democrats are internationalist and pro-trade, but otherwise very very internally divided. GOP and AIP sort of agree on not wanting to pay much attention to what goes on beyond America's borders and both are somewhat protectionist, and can occasionally come together to oppose spending money on a specific thing, but otherwise the GOP is pro-business and racially tolerant/cosmopolitan, whereas the and the AIP is labor-oriented and not very nice to folks it doesn't think are 'properly American'.
The Democratic Party dominating American Politics is a product of the Democratic Party being a much much bigger tent than the other two parties. Notice how no US speaker for decades has managed to get more than 3/5 of elected Democrats to support their speakership despite a Democrat always getting elected Speaker. It's always a coalition across party lines.
In Presidential races, things just always get forced to the house and the Democrat (who always ends up coming first) proceeds to cut a deal with the whichever candidate came second.
Bob Taft in 1948 caused the Republican Liberals and Internationalists to all join the Democratic Party. Eisenhower winning in 52 and 56 kept them in.
Israel definitely hurt the GOP big time. I recall that Congress considered taking action to prevent German and Austrian Jews from coming to the US during the depression, but something came up that distracted them. Because Germany and Austria's quota caps were so high, around 750,000 Jews from those countries ended up in the US. The effect has been that Jewish Americans are a strong voting bloc in some pretty important states and a very Democratic one at that. Anglo-Saxon Republicans were too pro-Arab, do the GOP's detriment.
Democrats also were just better at anticommunism. The average Republican is more anticommunist than the average Democrat, but Democrats are willing to take the fight against Communism overseas whereas the Republicans weren't all that interested in fighting Communism beyond North America. It's what's led to the trend of Presidents handling Foreign Policy and Speakers and Majority Leaders handling Domestic (for the most part).
In recent years as the GOP becomes a bit more internationally minded, making the distinction between many Democrats and Republicans quite hazy.
If the GOP, AIP, and conservative elements of the Democratic Party were to coalesce, maybe that'd be enough to block the Democrats. But we saw that once in Congress with the selection of a speaker and that majority was just so unsustainable that it only lasted one term. Maybe if the GOP liberals and internationalists remained in their party, they could have challenged the Democrats.